使用calloutAccessoryControlTapped:方法加载特定的Viewcontroller

时间:2013-04-10 21:46:03

标签: ios annotations uipopovercontroller viewcontroller

我有许多视图控制器,每个视图控制器都拥有自己的内容。我想将每个viewController的内容加载到他们自己的popover中,当有人点击注释时弹出。由于每个注释都是一个不同的位置,我希望附加到特定注释的popover加载特定的viewController以显示有关该注释的详细信息。

我目前在我的calloutAccessoryControlTapped:方法中有我的popover代码。我知道这种方法应该允许我的代码以某种方式获取有关哪个注释被挖掘的知识。有了这些知识,我就可以设置一些逻辑,例如使用IF语句或其他任何东西,以便我可以加载popover和我想要的相应viewcontroller。

如何使用calloutAccessoryControlTapped:方法将已经使用的注释传递给我的代码?

谢谢,

这是我加载ONE viewController的代码。

//这是识别轻触DetailDisclosureButton的方法。 - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control

{

            // create an instance of the DetailViewController class that holds the additional info and initialize it
            DetailViewController *ycvc = [[DetailViewController alloc] init];



            // create an instance of the IUPopoverController class and initialize it with the instance created above
            UIPopoverController *poc = [[UIPopoverController alloc] initWithContentViewController:ycvc];
            [ycvc release];

            // hold the reference to the popover in an ivar
            self.popover = poc;

            //size the popover as needed
            poc.popoverContentSize = CGSizeMake(320, 400);



            //show the popover next to the annotation view
            [poc presentPopoverFromRect:view.bounds inView:view
            permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

            [poc release];
}

0 个答案:

没有答案