ios - 弹出 View Controller 未显示

标签 ios uipopovercontroller

我有一个登录 View ,我想在弹出窗口中显示它。我正在通过以下代码执行此操作:

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 被调用了。再次点击 View 调用 popover 委托(delegate)方法 didDismissPopover。

尽管从弹出窗口转场呈现时它工作正常。

我不想创建一个 segue,因为可能会从不同的位置调用登录,我想将此代码分开。

有没有人遇到过这样的问题。

最佳答案

解决了!!

结果我将箭头方向指定为 UIPopoverArrowDirectionDown 并且要显示的矩形不正确。将矩形更改为 (100, 500, 10, 10),瞧!一切都很完美。

关于ios - 弹出 View Controller 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548673/

相关文章:

ios - swift 5 : Display Data Retrieved in Closure to Table View

ios - Identity下version和build的区别

iphone - 如何检查我的 UILabel 值是否大于 0?

objective-c - UIPopover 中的空 TableView

ios - 在 prepareForSegue 中获取 UIPopoverController 引用?

ios - UINavigationbar 会在 UISearchbar 结束搜索后显示,如何隐藏导航栏

ios - inviteHandler 从未调用过

iphone - iOS:创建无边框弹出窗口

ios - 弹出框内的 UISearchDisplayController - 取消搜索时动画效果不佳

ios - popoverControllerDidDismissPopover不做我认为应该做的事