presentPopoverFromBarButtonItem

presentPopoverFromBarButtonItem

每当用户单击按钮时,我都试图显示我的弹出菜单。

我有两种方法,第一种创建按钮

- (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/

10-10 04:54