2011-07-06 95 views
5

我想把一個UIToolbar放在UIPopoverController的頂部,就像蘋果在頁面和主題中用「媒體」,「表格」,「圖表」,「形狀」工具欄。UIPopoverController工具欄頂部

enter image description here

我已經成功地將一個在使用描述爲this post同樣的方法底部,但我無法將其移動到頂部。

我可以通過在子視圖控制器中放置一個普通的UIToolbar來實現,但工具欄似乎不像邊界線一樣,並且看起來不像在蘋果應用程序中那麼好。

有沒有人有任何建議如何做到這一點,或者如果它甚至有可能?任何幫助將非常感激。

謝謝!

回答

10

使用保存只是你的一個視圖控制器作爲popoverController的內容,像這樣一個UINavigationController:

MyViewController *myVC = [[myViewController alloc] init]; 

UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:myVC]; 

myPopoverController = [[UIPopoverController alloc] initWithContentViewController:navCon]; 

[myVC release]; 
[navCon release]; 

[myPopoverController presentPopoverFromRect:rect 
            inView:view 
        permittedArrowDirections:UIPopoverArrowDirectionRight 
            animated:YES]; 

然後,在你的viewController的初始化,設置navigationController的項目:

self.navigationItem.title = @"myTitle"; 
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonTapped:)] autorelease]; 

你可以去瘋狂,把你想要的東西放在那裏:

self.navigationItem.titleView = [[MySpecialTitleView alloc] initWithFrame...]; 

如果您的導航控制器的堆棧中只有一個ViewController,將不會導航。

iOS 7注意事項:彈出窗口中的NavigationBars似乎忽略了iOS 7中的色調。我認爲這是一個錯誤,並鼓勵您在發生此問題時向Apple提交錯誤報告。

+0

這正是我一直在尋找!非常感謝! – Thomas

1

您可以在UIPopoverController上放置工具欄。

更準確地說,您必須將它放在UIViewController的頂部,它將在調用initWithContentViewController時被設置爲您的UIPopoverController的內容。

如果使用IB:
1)拖動UItoolbar您的UIViewController
2)選擇UIToolbar的頂部,轉到尺寸檢查,並在自動調整大小部分:
- 點擊頂部的指示燈固定上邊距
- 點擊底部的指標,使底邊靈活

在小預覽窗口中的紅條應留在上面

相關問題