2017.05.14(自己寫(xiě)的段子總結(jié))

PCH文件是一個(gè)預(yù)編譯文件,pch頭文件的內(nèi)容能夠被項(xiàng)目中所有其他源文件共享和訪問(wèn)

1.存放一些全局的宏(整個(gè)項(xiàng)目都要用的上的)

2.用來(lái)包含一些全部的頭文件

3.能夠自動(dòng)打開(kāi)或關(guān)閉日志輸出功能

其中可用來(lái)存儲(chǔ)共享的信息:其他頁(yè)面需要導(dǎo)入的頭文件以及屏幕寬度,高度設(shè)置,需要的第三方庫(kù)頭文件等

創(chuàng)建完成后還要進(jìn)行相關(guān)的配置,


command +b 會(huì)進(jìn)行預(yù)編譯,預(yù)編譯好的pch文件,會(huì)被緩存起來(lái),提高編譯速度

TabbarController和navigationController

initialize方法,可以利用他,在類使用前可以進(jìn)行一些預(yù)處理,Apple文檔中說(shuō)明的load和initialize的區(qū)別:load是只要是類所在的文件被引用就會(huì)被調(diào)用,而initialize是在類或其子類的第一個(gè)方法被調(diào)用之前調(diào)用,所以如果類沒(méi)有被引用進(jìn)項(xiàng)目,就不會(huì)有l(wèi)oad調(diào)用,但即使類文件被引用,但是沒(méi)有使用,則initialize也不會(huì)被調(diào)用

他的相同點(diǎn)在于:方法只會(huì)被調(diào)用一次

在這兩個(gè)controller中

initialize{

在這里可以設(shè)置一些靜態(tài)屬性


appearance

UIAppearance設(shè)置一些UI的全局效果,這樣很方便實(shí)現(xiàn)UI的自定義效果,有能最簡(jiǎn)單的實(shí)現(xiàn)統(tǒng)一界面風(fēng)格,注意:

1.控件遵守了UIAppearance協(xié)議,才能對(duì)控件進(jìn)行appearance設(shè)置

2、只有被UI_APPEARANCE_SELECTOR這個(gè)宏修飾的屬性才能使用appearance進(jìn)行設(shè)置,其他屬性則不具備該功能

3、appearance設(shè)置需要在該控制顯示之前設(shè)置完成,否則可能無(wú)效



setTitleTextAttributes設(shè)置title的文字屬性

UINavigationBar提供了titleTextAttributes來(lái)簡(jiǎn)單設(shè)置title的樣式

titleTextAttributes是一個(gè)NSDictionary類型,包含的固定的屬性名稱,可以用來(lái)設(shè)置title的樣式,指定的屬性keys

聲明于NSString UIKit Additions Reference擴(kuò)展中,包括:

NSString *constUITextAttributeFont,設(shè)置title的文字字體;

NSString*constUITextAttributeTextColor,設(shè)置title的文字顏色;

NSString*constUITextAttributeTextShadowColor,設(shè)置titlewz的陰影顏色;

NSString*constUITextAttributeTextShadowOffset,設(shè)置titlewz陰影的平移量 ;




imageWithRenderingMode是UIImage的渲染模式

tint color是UIColor的一個(gè)屬性,代表對(duì)象的顏色風(fēng)格,所有繼承自UIView的對(duì)象都具有tintColor屬性,個(gè)別對(duì)象如UIBarButtonItem等也具有該屬性。

你可以設(shè)置一個(gè)UIImage在渲染時(shí)是否使用當(dāng)前視圖的Tint Color。UIImage新增了一個(gè)只讀屬性:renderingMode,對(duì)應(yīng)的還有一個(gè)新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚舉值來(lái)設(shè)置圖片的renderingMode屬性。

UIImageRenderingModeAutomatic? // 根據(jù)圖片的使用環(huán)境和所處的繪圖上下文自動(dòng)調(diào)整渲染模式。

UIImageRenderingModeAlwaysOriginal? // 始終繪制圖片原始狀態(tài),不使用Tint Color。

UIImageRenderingModeAlwaysTemplate? // 始終根據(jù)Tint Color繪制圖片,忽略圖片的顏色信息。


UInavigationController的一般使用(項(xiàng)目中都是自定義使用)

如果使用系統(tǒng)自帶的NavigationController,可能會(huì)造成許多意想不到的問(wèn)題,比如說(shuō)返回手勢(shì)的失效,NavigationBar顏色設(shè)置的不一致(由于透明度造成),或者是當(dāng)NavigationController嵌套在UITabbarController中使用時(shí),在push過(guò)程中,tabor何時(shí)消失的不確定等等問(wèn)題,所以我們經(jīng)常使用自定義的NavigationController來(lái)控制一組控制器,過(guò)程如下:

1.繼承UINavigationController來(lái)實(shí)現(xiàn)自己的NavigationController。

2.解決返回手勢(shì)失敗的問(wèn)題。

3.解決NavigationBar顏色設(shè)置不一致的問(wèn)題。

4.解決push時(shí)隱藏Tabbar。

5.設(shè)置整個(gè)NavigationController狀態(tài)欄的樣式,注意:在iOS7之后,修改狀態(tài)欄樣式的方法不被提供了,而是改為了控制器自己重寫(xiě)方法

- (UIStatusBarStyle)preferredStatusBarStyle;

來(lái)實(shí)現(xiàn)。但是如果控制器被NavigationController所管理,那么該方法只會(huì)調(diào)用一次,即調(diào)用棧底層的控制器的該方法,其他控制器的該方法會(huì)被截?cái)?。(還有的一些設(shè)置http://www.itdecent.cn/p/9bcd6a405ef3)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.自定義控件 a.繼承某個(gè)控件 b.重寫(xiě)initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,698評(píng)論 2 4
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,158評(píng)論 4 61
  • 1.xcode5和xcode7區(qū)別 1.xcode7沒(méi)有Frameworks文件夾,xcode7內(nèi)部會(huì)自動(dòng)幫你導(dǎo)入...
    彼岸的黑色曼陀羅閱讀 575評(píng)論 0 2
  • 因?yàn)樽约簩?xiě)字太丑,又恰好是個(gè)比較吹毛求疵的人(老是對(duì)掛在外墻或者什么角落的一些惡心設(shè)計(jì)深惡痛絕罵罵咧咧),所以每每...
    TONY先生的假期閱讀 477評(píng)論 0 2
  • 第九周里感覺(jué)還是沒(méi)把力氣用盡。但這個(gè)問(wèn)題在這周里被充分認(rèn)識(shí)到了,這些認(rèn)識(shí)上的長(zhǎng)進(jìn)都是長(zhǎng)足的。很多方面結(jié)束徘徊,下周...
    5779cc3e3627閱讀 291評(píng)論 0 1

友情鏈接更多精彩內(nèi)容