2010-07-21 71 views
6

如何以編程方式設置UIPopOver視圖的標題?以編程方式設置UIPopOver視圖的標題

我發現了一些示例代碼,但無法設置標題。

myView *theView = [[myView alloc] initWithNibName:@"myView" 
             bundle:nil]; 
UIPopoverController* aPopover = [[UIPopoverController alloc] initWithContentViewController:theView]; 
[aPopover setDelegate:self]; 
[aPopover setPopoverContentSize:CGSizeMake(320, 320) animated:YES]; 

[theView setPopover:aPopover]; 
[theView release]; 

[self.popoverController presentPopoverFromRect:CGRectMake(510,370,0,0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 
+0

我不知道,但谷歌搜索周圍的告訴我,它不能有一個標題 – vodkhang 2010-07-21 06:36:17

+0

它無處不在。例如縱向模式下的郵件應用程序。彈出窗口顯示您的電子郵件。 – Yazzmi 2010-07-21 07:19:23

回答

7

您需要將視圖控制器包裝到UINavigationCotnroller中,該視圖控制器將爲視圖控制器添加具有適當標題的導航欄。事情是這樣的:

UINavigationController *container = 
    [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease]; 

然後,只需初始化酥料餅的使用container來代替,而目前它像往常一樣。

+0

如果您從IB添加導航欄,它看起來不一樣。 – Yazzmi 2010-07-21 19:44:37

+0

啊當然......是的彈出窗口修改導航控制器看起來黑色和半透明。所以你應該將視圖控制器包裝在導航控制器中。 – 2010-07-22 07:16:03

+0

你能告訴我如何使用代碼adobe做到這一點嗎?謝謝! – Yazzmi 2010-07-22 08:29:59

0

嘗試設置你的酥料餅的contentViewController的標題:

theView.title = @"My Title"; 

theView.navigationItem.title = @ 「我的標題」;

4

是的,正好。整個事情看起來是這樣的:

InfoView *infoView = [[InfoView alloc] init]; 
UINavigationController *container = [[[UINavigationController alloc] initWithRootViewController:infoView] autorelease]; 
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:container]; 

infoView.title = @"My Title"; 

[pop setDelegate:self]; 
[pop setPopoverContentSize:CGSizeMake(320, 400)]; 
[pop presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
[infoView release]; 
0
let popoverContent = (self.storyboard?.instantiateViewControllerWithIdentifier("Popover"))! as UIViewController 
popoverContent.title = "Details" 
let nav = UINavigationController(rootViewController: popoverContent) 
nav.modalPresentationStyle = UIModalPresentationStyle.Popover 
let popover = nav.popoverPresentationController 
popoverContent.preferredContentSize = CGSizeMake(100, 100) 
popover!.delegate = self 
popover!.sourceView = self.view 
popover!.sourceRect = CGRectMake(100,100,0,0) 

self.presentViewController(nav, animated: true, completion: nil) 
相關問題