1

當導航欄和UIToolbar在同一時間處於同一視圖中時,存在奇怪的問題。當刷卡回VC返回屏幕上的firstvc,出現在導航欄上的奇怪的灰色框:在UINavigationController案例中,UIToolbar在動畫導航欄上灰盒子

Image

Animation

UIViewController *firstvc = [[UIViewController alloc] init]; 
firstvc.view.backgroundColor = [UIColor whiteColor]; 
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 523, 320, 45)]; 
[firstvc.view addSubview:toolbar]; 

UIViewController *secondvc = [[UIViewController alloc] init]; 
secondvc.view.backgroundColor = [UIColor whiteColor]; 

UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:firstvc]; 
[nvc pushViewController:secondvc animated:NO]; 

一切正常,當我改變了透光性預期爲工具欄,但我不喜歡這個解決方案 - UIToolbar旨在是半透明的。我相信這是使用UINavigationController在視圖上使用UIToolbar的常用方法。我做錯了什麼?

UPDATE:UINavigationController有一個很棒的屬性叫做toolbar,它在屏幕底部添加工具欄。但是,主要關於如何一起使用UIToolbar和UINavigationController的問題。例如,我用屏幕頂部的工具欄開發了一個複雜的視圖,其中包含一個自定義的UITextField。當用戶在視圖上選擇了某些東西時,彈出了具有本地導航欄的另一個視圖控制器。在這種特殊情況下,我遇到了同樣的問題,沒有其他選擇,只能禁用第一個視圖控制器工具欄的半透明屬性。

Here the animation that can express my idea.

並再次同灰箱。

回答

1

您不必創建工具欄並添加它。 UIViewController已經有了一個工具欄,你可以使用這個工具欄,而沒有你描述的這個問題。

+0

謝謝你的回答。工具欄是一個很好的屬性,但我想知道如何將UINavigationController和UIToolbar結合使用。屏幕底部的工具欄不僅可以在UIToolbar和UINavigationController一起使用的情況下使用。 – Slabko