14
我有一個UINavigationController獲取推送DetailsViewController。在這個DetailsViewController中,我想使用每個UINavigationController附帶的工具條(至少自iPhone OS3.0起)。UIToolbar項不顯示
所以,在viewDidLoad中我DetailsViewController我創建的UIBarButtonItem,我將它添加到一個數組中,並把它關到導航控制器:
- (void) viewDidLoad {
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(selectTemplate)];
NSArray *items = [NSArray arrayWithObject: item];
TestUIAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
UINavigationController *navController = delegate.navigationController;
[navController setToolbarItems: items animated:NO];
[navController setToolbarHidden: NO animated: YES];
}
但是,出於某種原因,而UIToolbar是動畫上屏幕上,該項目不會添加到工具欄中。
有沒有某種特定的順序必須與UIToolbar完成這個工作?
P.S .:應用程序處於(強制)橫向模式,navigationController.view對其進行旋轉轉換。這有什麼關係嗎?
簡評 - 即分配的UIBarButtonItem看起來像它會被泄露。你應該把它設置爲autorelease。 – 2009-08-31 00:56:14
哦,對。但NSArray保留它,所以我可以在將它添加到數組後將_item_發佈出來,對吧? – NSSec 2009-08-31 05:21:08
我在這個cos上做了一個-1,你允許你爲那個viewcontroller顯示它,它不會遵循所有隨後的視圖控制器,通過導航的生命......這是大多數工具欄不會去做的。 – Jann 2010-05-10 21:38:35