2013-08-31 145 views
0

我有一個登錄視圖,我想在彈出窗口中顯示。我是這樣做的代碼如下: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的loginview被調用。再次點擊視圖調用popover委託方法didDismissPopover。

雖然它從popover segue呈現時工作正常。

我不想創建一個segue,因爲可能會從不同的位置調用登錄名,我希望將此代碼分開。

有沒有人以前遇到過這樣的問題。

回答

1

解決了它!

原來我的箭頭方向是UIPopoverArrowDirectionDown,並且顯示的矩形不正確。將矩形改爲(100,500,10,10),瞧!一切都很完美。