標籤:
關於ios導航控制器的知識總結
添加了導航控制器後:
1.每個頁面都會有一個頂部導覽列navigationbar和底部工具列toolbar,它們是導航控制器navC的屬性。且導覽列預設是不隱藏的,而底部工具列預設是隱藏的。
2.可以通過設定 self.navigationController.toolbarHidden = NO來顯示底部工具列,工具列中的內容可以通過viewController的toolbarItems來設定,顯示的順序和設定的NSArray中存放的順序一致,其中每一個資料都一個UIBarButtonItem對象。
3.導航控制器的導覽列navigationbar和工具列toolbar上的導覽按鈕navigationItem和toolbarItems卻是當前整頁模式控制器VC的屬性。特別注意:下一個頁面的左側Back按鈕名稱是由當前頁面的backBarButtonItem來設定。只能設定名稱,不能設定形狀。如果下個VC設定了leftBarButtonItem,則本版面設定backBarButtonItem無效,會被下個頁面的左按鈕覆蓋掉。
4. 下一個頁面的左側Back按鈕的名稱是由上一個控制器backBarButtonItem來設定的。如果上一頁面沒有設定backBarButtonItem按鈕的名稱,則預設顯示為Back。但是若上頁面有設定navigationItem.title屬性,則顯示該title。如果上一版面設定的是navigationItem.titleView,則下一頁面左側仍顯示預設的Back.
5.導航控制器會有一個viewControllers屬性,其中的VC是以棧的形式組織的,當pushViewController或者addChildViewController或者直接添加到數組navC2.viewControllers = @[vc1,vc2,vc3]; 因為會新出現一個頁面,在push,add之前需要建立好對應VC的對象。當使用popToViewController時,棧頂的VC都會被銷毀(如不想被銷毀,需給它一個強引用即可),返回到的那一頁並不需要新建立pop到的VC的對象,因為之前使用push時,它被壓入棧底,並不會被銷毀。
6. 轉載一篇不錯的文章《UINavigationController使用詳解》,大家一起學習。
關於ios導航控制器的知識總結