我正在用IOS5开发一个使用故事板的iphone应用程序。我已经创建了一个故事板,它使用带有注释标注的mapkit。我能够使用Storyboard编辑器连接按钮和表行选择的push segues。我有在MapKit中使用自定义标注的经验,但是我不知道如何从标注中推送在情节提要中定义的视图控制器。我打算使用[self.navigationController pushViewController:abc animated:YES],但是要做到这一点,我需要从情节提要中获取视图控制器,或者初始化一个新的视图控制器。我没有访问NIB名称的权限,因为没有NIB名称。如何访问在情节提要中定义的ViewController实例?有没有什么方法可以使用故事板编辑器将推动序列关联到自定义地图注释标注?
提前谢谢。
发布于 2012-01-22 13:49:39
您可以在视图控制器之间创建序列,这些序列是通过在视图控制器之间拖动控件来以编程方式执行的。然后,在MKMapViewDelegate方法- (void)mapView:annotationView:calloutAccessoryControlTapped:中,只要在故事板中为段指定了标识符,就可以通过编程方式执行段。
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
// I've chosen to pass the annotation view as the sender here.
// I'm assuming this view controller will be configured with data that
// is backing the annotation view. By passing the view, you will be able
// to inspect it and it's backing annotation in `prepareForSegue:sender:`
[self performSegueWithIdentifier:@"ShowSomeViewController" sender:view];
}发布于 2012-05-09 21:39:10
我添加了一个按钮,并通过控件将其拖动到视图控制器来执行此操作。之后,我使用按钮的隐藏属性来确保它是隐藏的。你不能简单地控制将一个mapview拖到另一个视图控制器。你得用一个按钮才行。确保你给你的segue一个标识符。
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
[self performSegueWithIdentifier:@"detailSegue" sender:view];
}https://stackoverflow.com/questions/8959048
复制相似问题