titleVIew 默認狀況下 是居中顯示的,出現不居中的狀況緣由有兩個:1,leftBarButtonItem,和rightBarButtonItem 留給titleView 的空間過小致使。 2,你本省自定義的titleView 沒有居中,就像若是你的titleView 是個lab ,而lab的textAlengent 沒有爲center 同樣。html
對於第一種,咱們能夠適當減少title的寬度,或者 設置 sizeThatFIts來解決。app
intrinsic size(固有尺寸),一個根據自身內容大小而決定的尺寸。咱們都知道,UIButton、UILabel等,在佈局時並不須要給它們設置全部constraints,只須要設置 leading space 和 top space 等能決定 X跟Y的constraints 就可以進行佈局,這就是它們的intrinsic size在起做用,決定它們的寬高。佈局
「Content Compression Resistance Priority」,也叫內容壓縮阻力優先級(小名:別擠我),該優先級越高,則越晚輪到被壓縮。測試
「Content Hugging Priority」,也叫內容緊靠優先級(小名:別扯我),該優先級越高,這越晚輪到被拉伸。字體
sizeToFit()聲明在UIView中,因此咱們的全部的視圖控件,均可以調用這個方法spa
sizeToFit若是不重寫sizeThatsFit的話是系統提供frame。code
self.title至關因而同時設置tabBarItem.title和navigationItem.title的快捷方法,而tabBarItem.title纔是真正對應tab的標題,navigationItem.title對應NavigationBar上面的標題。orm
狀態欄的windowLevel爲UIWindowLevelStatusBar,而window的windowLevel爲UIWindowLevelNormal。因此通常狀況下,狀態欄位於window之上。htm
1 NSString *statusBarFrame = NSStringFromCGRect([UIApplication sharedApplication].statusBarFrame);blog
NSLog(, statusBarFrame);
在iPhone 6豎屏測試輸出:
2015-08-04 16:33:47.159 Test[6175:205261] {{0, 0}, {375, 20}}
在iPhone 6橫屏測試輸出:
2015-08-04 16:33:47.159 Test[6175:205261] {{0, 0}, {667, 20}}
在iPhone 6 Plus豎屏測試輸出:
2015-08-04 16:33:47.159 Test[6175:205261] {{0, 0}, {414, 20}}
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];