9

我有我的唯一,iOS5的應用navigationControllerDelegate時淡入:避免的UIBarButtonItem淡出/ pushViewController動畫

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
{ 
    UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"common-settingsbutton"] style:UIBarButtonItemStylePlain target:nil action:nil]; 
    [viewController.navigationItem setRightBarButtonItem:myButton]; 
} 

它的工作原理,但與默認的動畫推視圖控制器時(即使用「推segue「)rightBarButtonItem在動畫過程中淡出和淡入淡出。

我該如何避免這種情況?


UPDATE

唯一解決方法我發現是:
創建UINavigationBar的背景與PNG繪製相同UIBarButtonItems(在相同的位置,相同的顏色),並設置背景正確地基於在我需要的按鈕上。 然後,當然,添加您的UIBarButtonItems。

回答

3

我發現的唯一的解決方法是: 創建UINavigationBar的背景與PNG繪製相同UIBarButtonItems(在相同的位置,相同的顏色),並設置背景的基礎上正確的按鈕,我需要。然後,當然,添加您的UIBarButtonItems。

0

在推入視圖控制器而不是協議方法之前創建按鈕。

+0

我得到了同樣的行爲,也需要在每個viewcontroller中的所有「prepareForSegue」中實現相同的代碼,而不是隻在一個地方有代碼 – 2012-02-17 12:18:43

0

按照文檔可以禁用動畫的BarButtonItem

[viewController.navigationItem setRightBarButtonItem:myButton animated:NO]; 

但是,這似乎並沒有在故事板製作的項目工作。按鈕仍然在動畫

+1

是的,我已經試過這種方式,它沒有工作 – 2012-02-27 10:22:13

0
button. adjustsImageWhenHighlighted = NO; 

當你點擊rightBarButton它突出顯示,如淡入/淡出。爲了避免該按鈕的一個屬性調整圖像當高亮顯示設置爲否。

+0

一般來說,如果答案包含對代碼意圖做什麼的解釋,以及爲什麼解決問題而不介紹其他問題,答案會更有幫助。 – Peter 2017-06-28 11:12:23

+0

隨意將其粘貼到答案中。謝謝 ! – Peter 2017-06-28 11:17:38