弹出视图控制器未显示

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),瞧!一切都很完美。

【讨论】:

以上是关于弹出视图控制器未显示的主要内容,如果未能解决你的问题,请参考以下文章

弹出视图控制器时 UIAppearance 未更新

类似于 iMessage 的拆分视图控制器中的弹出视图控制器?

iOS10 Facebook 登录弹出到根视图控制器

弹出框控制器无法正确显示视图

iOS 在弹出窗口中显示视图控制器

未调用拆分视图弹出框委托方法