總結(jié)
- zh:表示中國(guó)
- com+alt+左鍵:縮放圖片
- ctrl+com+space:跳出emoji鍵盤(pán)
- label換行:option+回車(chē)
- px:像素——設(shè)置距離需要除以二
- pt:點(diǎn)——設(shè)置距離不需要除以二
- 計(jì)時(shí)器有兩種:
1胃惜、NSTimer:用于調(diào)用頻率不怎么高的地方
2交胚、CADisplayLinek:用于調(diào)用頻率高的地方
- 自定義tabbar兩種方式:
1、添加五個(gè)子控制器,自定義tabbar,讓中間的UItabBaritem不設(shè)置圖片和文字秕噪,讓其不能夠交互,然后在這個(gè)位置添加一個(gè)UIButton浴捆,這樣就會(huì)有高亮狀態(tài)了诗力。
2、添加四個(gè)子控制器凭峡,自定義tabbar,然后在中間的位置添加一個(gè)UIButton,這樣就會(huì)有高亮狀態(tài)了(推薦使用第二種拙已,因?yàn)榈谝环N會(huì)多出來(lái)一個(gè)子控制器,且不確定最后添加的UIbutton是否在最上面摧冀,覆蓋原有的UItabBaritem)
- 給系統(tǒng)的功能添加新的功能時(shí)只能通過(guò)兩種方法:
1倍踪、繼承系統(tǒng)類,重寫(xiě)該方法索昂,但是會(huì)導(dǎo)致建车,必須使用子類。
2椒惨、使用交換方法缤至,這樣父類和子類都可以使用。
- cell的全屏穿透效果
1.tableView的尺寸必須要占據(jù)整個(gè)屏幕
2.通過(guò)設(shè)置tableView的contentInsert防止cell被導(dǎo)航欄或者TabBar擋住框产。且是在每個(gè)控制器的viewDidload方法里面設(shè)置的凄杯。
- tableView的滾動(dòng)范圍是由系統(tǒng)自己計(jì)算的。
- 當(dāng)tableView/或者tableController的view添加到導(dǎo)航控制器下默認(rèn)會(huì)將y值設(shè)置為20秉宿,高度會(huì)減少20戒突,而且會(huì)插入64的內(nèi)容邊距,如果是普通view/或者viewController的view添加到導(dǎo)航控制器下是全屏的描睦,不會(huì)出現(xiàn)上述效果膊存。當(dāng)tableView/或者tableController的view沒(méi)有添加到導(dǎo)航控制器下默認(rèn)是全屏的。
- 注冊(cè)cell就不需要到xib中去綁定標(biāo)識(shí)符忱叭,如果不是注冊(cè)cell,而是通過(guò)代碼去判斷創(chuàng)建cell隔崎,那么就需要到xib中去綁定標(biāo)識(shí)符
- 純代碼自定義cell是在initwithstyle方法里面實(shí)現(xiàn)的,不是在initwithframe方法里面實(shí)現(xiàn)的韵丑。因?yàn)樗枰獋鬟f重用標(biāo)識(shí)
- 通過(guò)重用標(biāo)識(shí)注冊(cè)了cell爵卒,就不需要在xib上綁定重用標(biāo)識(shí),如果沒(méi)有注冊(cè)而是通過(guò)if條件判斷創(chuàng)建cell,那么就需要到xib中綁定重用標(biāo)識(shí)撵彻。建議不管在哪種情況下都在xib中綁定重用標(biāo)識(shí)钓株。注冊(cè)xib需要使用registernibname方法实牡。
- 如果設(shè)置估算高度就會(huì)先調(diào)用計(jì)算cell的個(gè)數(shù),然后調(diào)用cellforrow獲取cell轴合,接著調(diào)用heightforrow獲取cell的高度创坞,最后調(diào)用layoutsubview布局子控件。
- 如果沒(méi)有設(shè)置估算高度就會(huì)先調(diào)用計(jì)算cell的個(gè)數(shù)受葛,然后調(diào)用heightforrow獲取cell的高度题涨,接著調(diào)用cellforrow獲取cell,最后調(diào)用layoutsubview布局子控件总滩。
- 要想在block里面修改外面的變量纲堵,就需要在外面變量聲明的時(shí)候在它的前面添加__block修飾
- 方法沒(méi)有聲明,那self就不能使用點(diǎn)語(yǔ)法調(diào)用該方法self.XXX咳秉,只能使用get方法調(diào)用[self XXX]婉支。
- 代理只能設(shè)置一個(gè),且是一對(duì)一的澜建;通知是一對(duì)多的,傳播范圍廣蝌以。
- 通知用于一對(duì)多的情況炕舵。
- 字符串可以成為字典的key,OC對(duì)象要成為字典的key跟畅,OC對(duì)象就必須遵守NSCopying協(xié)議咽筋,實(shí)現(xiàn)其協(xié)議中的方法。
- 子類創(chuàng)建代理協(xié)議最好要繼承父類的代理協(xié)議徊件。
- 在父類可以聲明一個(gè)get方法奸攻,在子類實(shí)現(xiàn)get方法,在這其中父類可以向子類傳遞參數(shù)虱痕,子類也可以向父類返回參數(shù)
- 給系統(tǒng)類添加方法用分類睹耐,給系統(tǒng)類添加屬性用runtime
- WKWebView這個(gè)類沒(méi)有定義,說(shuō)明這個(gè)類沒(méi)有參與編譯部翘,只需要將這個(gè)框架導(dǎo)入才能編譯成功硝训。
- 修改一個(gè)控件的透明度,它的內(nèi)容也會(huì)相應(yīng)的改變(文字)
- 子控件超出父控件是不能點(diǎn)擊的
- 控件設(shè)置了約束新思,就不能使用x修改控件的位置窖梁,必須使用約束來(lái)修改控件的約束
- 通過(guò)Appearance協(xié)議設(shè)置夜間模式功能
- 系統(tǒng)的UITabBarItem沒(méi)有高亮狀態(tài)
- MJreflesh刷新框架是根據(jù)監(jiān)聽(tīng)scrollView的偏移量設(shè)置的,不是根據(jù)代理來(lái)做的
- 圖文混排 ->文本框開(kāi)始編輯 attchment
- 在Assets下帶有unassign的圖片是不會(huì)打包到Assets.boundle中的夹囚,可以刪除
- bundle里面存放已經(jīng)編譯好的或者不需要編譯的文件(如nib文件)纵刘,不能存放需要編譯還沒(méi)編譯的文件(如xib文件),可以存放圖片荸哟、視頻假哎、歌曲等瞬捕。
- 系統(tǒng)相冊(cè)里面是真實(shí)存在的圖片,而自定義相冊(cè)只是簡(jiǎn)單的引用位谋,并沒(méi)有存儲(chǔ)照片山析,如果系統(tǒng)相冊(cè)里面的照片被刪除了,那么用戶自定義的相冊(cè)里面相應(yīng)的照片也就會(huì)刪除掏父。
圖片
保存圖片到自定義相冊(cè).png
給項(xiàng)目添加語(yǔ)言支持.png
國(guó)際化-本地化.png
修改Info-plist后會(huì)彈框.png
cocodpods .jpg
iOS6和iOS7的區(qū)別.png
Snip20170501_2.png
Snip20170501_3.png
Snip20170501_4.png
Snip20170503_20.png
Snip20170503_21.png
Snip20170503_22.png
Snip20170503_23.png
Snip20170503_24.png
Snip20170503_25.png
Snip20170503_26.png
Snip20170503_27.png
Snip20170503_28.png
Snip20170503_29.png
Snip20170503_30.png
Snip20170506_2.png
Snip20170506_3.png
Snip20170506_4.png
Snip20170513_5.png
Snip20170515_7.png
Snip20170515_9.png