0

即使在离线模式下,我也使用cloudmade地图来显示地图。我的问题是我无法在地图视图中显示 UIPopoverController。我也尝试在它上面显示警报视图。它不显示。我试过这段代码。

MyViewController *mvc=[[MyViewController alloc]initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
UIPopoverController *popover=[[UIPopoverController alloc]initWithContentViewController:mvc];


NSLog(@"%f",marker.frame.size.width);
[popover presentPopoverFromRect:marker.frame inView:mapView permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

提前致谢。

4

1 回答 1

0

我不知道为什么会这样,但是通过在 .h 中定义 UIPopoverController 并设置属性解决了这个问题

 @property(nonatomic,retain) popover;

然后在.m

MyViewController *mvc=[[MyViewController alloc]initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
UIPopoverController *mypopover=[[UIPopoverController alloc]initWithContentViewController:mvc];


self.popover=myPopover;
[self.popover presentPopoverFromRect:marker.frame inView:mapView permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

即使我正在使用 ARC(之前没有使用过该功能)并且没有在任何地方发布 popover,我还是收到了类似“-[UIPopoverController dealloc]达到而 popover 仍然可见”的错误消息。.

于 2012-02-23T07:41:51.443 回答