我正在制作一个 iPad 应用程序,我在其中以编程方式将 UIButtons 放在 UIScrollView 内的 UIImageView 上。
当有人按下其中一个按钮时,我想展示一个 UIPopover。由于按钮是通过编程方式添加的,因此我还必须以编程方式呈现弹出框。
这是我展示弹出框的代码:
- (void)buttonHandler:(UIButton *)sender
{
PushButtonViewController *controller = [[PushButtonViewController alloc] initWithButtonID:@"hej"];
_pushButtonPopover = [[UIPopoverController alloc] initWithContentViewController:controller];
_pushButtonPopover.delegate = self;
if(![_pushButtonPopover isPopoverVisible]) {
[_pushButtonPopover presentPopoverFromRect:sender.bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[_pushButtonPopover dismissPopoverAnimated:YES];
}
}
这是弹出视图控制器的初始化程序:
- (id)initWithButtonID:(NSString *)buttonID
{
self = [super init];
self.buttonID = buttonID;
return self;
}
问题是当我这样做时,我得到一个空的弹出窗口:
然而,当我使用一个预先插入的按钮,连接到故事板中的一个 segue 时,一切正常:
我真的希望您对我可能做错的事情有一些建议。先感谢您!