每当用户单击按钮时,我都试图显示我的弹出菜单。
我有两种方法,第一种创建按钮
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *btnMenu = [[UIBarButtonItem alloc]initWithTitle:@"Forms List" style:UIBarButtonItemStyleBordered target:self action:@selector(showPopover:)];
self.navigationItem.leftBarButtonItem = btnMenu;
}
第二个被第一个调用,以显示弹出窗口
-(IBAction)showPopover:(id)sender{
NSLog(@"called with %@", sender);
self.popoverController = popoverController;
popoverController.delegate = self;
[popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
目前,当我单击按钮时,什么都没有发生。我认为问题出在第二种方法上,主要是
presentPopoverFromBarButtonItem
行。任何帮助将不胜感激,我不太了解该方法调用的工作方式。
谢谢。
编辑1:
这是我(认为)初始化popoverController的代码
@interface DetailViewController ()
@property (nonatomic, retain) UIPopoverController *popoverController;
- (void)configureView;
@end
@implementation DetailViewController
@synthesize toolbar, popoverController, detailItem, detailDescriptionLabel;
最佳答案
您是否已初始化UIPopoverController
?
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:VCTHATGOESINSIDE];
如果所有其他方法都失败,请尝试从rect中显示它并指定一个
CGRect
。希望这可以帮助!编辑:initWith * Content * ViewController
关于objective-c - presentPopoverFromBarButtonItem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11352130/