0

我有一个登录视图,我想在弹出窗口中显示。我从以下代码中执行此操作:

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,因为登录可能会从不同的位置调用,我想保持这个代码分开。

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

4

1 回答 1

3

解决了!!

原来我给了箭头方向,UIPopoverArrowDirectionDown而要显示的矩形不正确。将 rect 更改为(100, 500, 10, 10), 瞧!一切都很完美。

于 2013-09-02T03:38:23.227 回答