我有一个地图和地图有注释,并且我可以看到在表视图这些注释为细胞,然后我可以看到的细节对于i在xcode中选择的像主细节项目的任何细胞
像这样
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
Object *object = [self.objects objectAtIndex:indexPath.row];
DetailsViewController *detailsViewController = segue.destinationViewController;
detailsViewController.detailItem = object;
}
代码是用于在表视图细胞这将推动到详细视图
但我想,当他按下UIButtonTypeDetailDisclosure在注释中的用户,则该按钮会去同DetailsViewController该小区将转到表视图
是否有可能做到这一点 ?
我看了一下calloutAccessoryControlTapped但我不知道如何使已被选定为我在DetailsViewController已经宣布detailItem注释
谢谢 : )
这是一个有点不清楚你在问什么。 这里有一对夫妇的猜测和他们的答案:
如何执行从地图上标注附件按钮SEGUE?
从IB控制(表单元格,按钮等)拖动是一个很好的方法,使塞格斯因为UIKit中可以为你搞定一切 - 当控制被窃听,它自动地执行SEGUE。 但有些时候,否则你可能想在执行赛格瑞编程控制控件不能创建塞格斯,和时间。 对于这一点,你从视图控制器本身 IB拖动创建SEGUE; 给SEGUE一个唯一的标识符,然后在您的视图控制器,你可以调用[self performSegueWithIdentifier:@"myIdentifier"]
每当你想要的SEGUE发生。
在这种情况下,你可能会调用来自内部mapView:annotationView:calloutAccessoryControlTapped:
我如何通过我的模型对象到下一个视图控制器在这种赛格瑞的?
想必你的模型对象符合MKAnnotation
协议,你将它们添加到与地图addAnnotation(s):
在这种情况下,当你的地图代表的(大概的视图控制器的) mapView:annotationView:calloutAccessoryControlTapped:
方法被调用时,所述第二参数具有与相应的参考MKAnnotationView
。 这个类有一个属性annotation
,这将重新指向你的模型对象。
当然,在这个方法中,你只是打电话performSegueWithIdentifier:
所以你还没有进入到目标视图控制器。 因此,你需要抓住这个模型对象引用(比如,在伊娃)现在,然后你prepareForSegue:sender:
实现可以将它传递到目的地视图控制器。