UINavigationController,UINavigationBar,UINavigationItem,UIViewController的相互關係
專案中出現率很高的幾個角色,簡單說一下相互關係
1.本質
UIViewController : 基本上一個控制器對應著一個具體的頁面
UINavigationController : 繼承於UIViewController ,是管理一系列控制器的容器。有一個UINavigationBar的屬性
UINavigationBar:繼承與UIView,是每一個控制器上方的檢視,可以做一定的定製,由UINavigationController管理
UINavigationItem : 繼承於NSObject,給UINavigationBar檢視提供內容,由UIViewcontroller管理
2.關係圖
3.一些簡單應用
a:更改導航欄的文字和背景顏色
//set NavigationBar 背景顏色&title 顏色
[self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:20/255.0 green:155/255.0 blue:213/255.0 alpha:1.0]];
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil]];
b:新增多個按鈕item
UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action: nil nil];
UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action: nil nil];
NSArray *itemsArr = @[shareItem,cameraItem];
self.navigationItem.rightBarButtonItems = itemsArr;
c:自定義後退按鈕的文字和顏色
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = item;
d:自定義返回item
//自定義返回按鈕
UIImage *backButtonImage = [[UIImage imageNamed:@"fanhui.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
//將返回按鈕的文字position設定不在螢幕上顯示
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault];
相關文章
- standby database三種模式的相互關係Database模式
- dispaly、position、float之間的關係與相互作用
- RXJS元件間超越父子關係的相互通訊JS元件
- 探索 DevOps 和質量內建的相互關係dev
- 交叉熵、KL 散度 | 定義與相互關係熵
- password_reuse_time與password_reuse_max之間的相互關係
- 看懂MES與ERP的相互關係,才可以選對軟體商
- 目標、計劃、任務、日誌、績效的定義和相互關係
- 多變數兩兩相互關係聯合分佈圖的Python繪製變數Python
- archivelog模式和flashback db以及guarantee restore point之間的相互制約關係!Hive模式REST
- 關於UINavigationBar和UITabBar的translucent屬性的問題UINavigationtabBar
- PostgreSQL技術大講堂 - Part 7:PG使用者schema相互關係SQL
- elfutils-libelf-devel- 相互有依賴關係的rpm需要同時安裝dev
- FAILGROUP和REDUNDANCY之間的關係關係!AI
- 關聯關係與依賴關係的區別
- 表的關聯關係
- 與if的關係
- UIViewController的生命週期UIViewController
- 關於CMP的關係,求教...
- 關係
- 【集合論】二元關係 ( 二元關係記法 | A 到 B 的二元關係 | 二元關係個數 | 二元關係示例 )
- 批量實現多臺伺服器之間ssh無密碼登入的相互信任關係伺服器密碼
- UINavigationBar簡單解析UINavigation
- UINavigationBar背景設定什麼的UINavigation
- 【集合論】序關係 ( 哈斯圖示例 | 整除關係哈斯圖 | 包含關係哈斯圖 | 加細關係哈斯圖 )
- 技術戰略基礎---面向產品科研開發的三個層次及相互關係(技術管理)
- 建立一個背景透明的UIViewControllerUIViewController
- 關係模型模型
- Scala與Java的關係Java
- MySQL表關係的理解MySql
- Object與Class的關係Object
- JavaScript和Java的關係JavaScript
- sip與openser的關係
- 類之間的關係
- act與zsh的關係
- 平等和效率的關係
- 票據的關係人
- 資料關係比較:相關性 vs 因果關係