Search code examples
iphonedictionaryuialertviewuipopovercontrollercloudmade

Cant Display AlertView or PopOver


I am using cloudmade map for displaying map even in offline mode. My issue is I am not able to display UIPopoverController in map view. Also I tried to display alert view over it. It does not displayed. I tried this code.

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];

Thanks in advance.


Solution

  • I dont know why it happens, but solved the problem by defining UIPopoverController in .h and setting property

     @property(nonatomic,retain) popover;
    

    Then in .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];
    

    Even though I am using ARC (not used that feature before) and not releasing popover anywhere, I got error message like '-[UIPopoverController dealloc] reached while popover is still visible.' .