弹出视图控制器未显示

时间:2013-08-31 13:27:57

标签: ios uipopovercontroller

我有一个登录视图,我想在popover中显示。我是通过以下代码执行此操作的:

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];

但是popover从未表现出来。但奇怪的是viewdidload和viewwillappear for loginview被调用。再次点击视图会调用popover委托方法didDismissPopover。

虽然它从popover segue呈现时效果很好。

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

有没有人在面对这样的问题之前。

1 个答案:

答案 0 :(得分:3)

解决了!!

原来我将箭头方向指定为UIPopoverArrowDirectionDown并且显示的矩形不合适。将矩形改为(100, 500, 10, 10),瞧!一切都很完美。