弹出视图控制器未显示
Posted
技术标签:
【中文标题】弹出视图控制器未显示【英文标题】:Popover view controller not showing 【发布时间】:2013-08-31 13:27:56 【问题描述】:我有一个登录视图,我想在弹出窗口中显示它。我从以下代码中执行此操作:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"MainStoryboard_%@", isIPAD ? @"iPad" : @"iPhone"] bundle:NULL];
UIViewController *navCtrl = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navCtrl];
popover = popover;
popover.delegate = self;
popover.popoverBackgroundViewClass = [PopoverBackground class];
self.popover = popover;
[self.popover presentPopoverFromRect:((UIButton *)sender).bounds
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:YES];
但弹出框永远不会显示。但奇怪的是 viewdidload 和 viewwillappear for loginview 被调用。再次点击视图会调用弹出框委托方法 didDismissPopover。
虽然从弹出框 segue 呈现时效果很好。
我不想创建一个 segue,因为登录可能会从不同的位置调用,我想保持这段代码分开。
以前有没有人遇到过这样的问题。
【问题讨论】:
【参考方案1】:解决了!!
原来我将箭头方向指定为UIPopoverArrowDirectionDown
,而要显示的矩形不正确。将矩形更改为(100, 500, 10, 10)
,瞧!一切都很完美。
【讨论】:
以上是关于弹出视图控制器未显示的主要内容,如果未能解决你的问题,请参考以下文章