折疊表格思路及遇到的問(wèn)題(tableView:viewForHeaderInSection:的section從1開(kāi)始,不是從0開(kāi)始)
項(xiàng)目需要做了一個(gè)類(lèi)似qq聯(lián)系人的折疊表格,思路很簡(jiǎn)單:設(shè)置每個(gè)section的header,在header上顯示組名等信息,然后根據(jù)折疊與否,設(shè)置每個(gè)section中cell的數(shù)量,如果折疊,則將之設(shè)置為0,否則設(shè)置為實(shí)際的cell數(shù)量,然后刷新表格即可。
那么問(wèn)題來(lái)了:
1、如果使用UITableViewStylePlain樣式的表格,那么header是會(huì)在表格滑動(dòng)的時(shí)候在頂部懸浮,而不是跟隨表格的滑動(dòng)而一起滑動(dòng)。
2、如果使用了UITableViewStyleGrouped樣式的表格,tableView:viewForHeaderInSection:的section的值會(huì)從1開(kāi)始,而不是從0開(kāi)始
解決方案:
問(wèn)題1:將表格的樣式設(shè)置為UITableViewStyleGrouped,這樣header會(huì)隨著表格滑動(dòng)而滑動(dòng),不會(huì)在頂部懸停。但是此時(shí)樣式會(huì)有所改變,因?yàn)閁ITableViewStyleGrouped表格會(huì)有默認(rèn)的header及footer高度(好像是13),根據(jù)自己的需要,設(shè)置相應(yīng)的header及footer即可。
問(wèn)題2:產(chǎn)生的原因是使用sectionHeaderHeight來(lái)設(shè)置header的高度,而不是使用委托方法(tableView:heightForHeaderInSection:)來(lái)設(shè)置,這應(yīng)該是個(gè)bug。
www.cnblogs.com/benbenzhu/p/6053627.html
二、iPhone X
1、https://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=2652552818&idx=1&sn=69db895d4d4078bd83e7e1655fcdd5f1&chksm=bcd2fb7c8ba5726a0d7481ca5960ec3c1600b214f15841542a41c58612ef4866a9551cd82640#rd
2.官網(wǎng)適配指南
https://developer.apple.com/cn/ios/update-apps-for-iphone-x/
3.ios WKWebView 與 JS 交互實(shí)戰(zhàn)技巧
http://geek.csdn.net/news/detail/240676
三、簡(jiǎn)歷記錄
1.iOS等常用詞匯一定要正確書(shū)寫(xiě)
四、電腦操作系統(tǒng)
從目前的PC系統(tǒng)來(lái)看,大致可以分圍五類(lèi),Windows系統(tǒng)、Unix系統(tǒng)、Linux系統(tǒng)、Mac系統(tǒng)和NetWare系統(tǒng)
1.Windows系統(tǒng)是一款由美國(guó)微軟公司開(kāi)發(fā)的窗口化操作系統(tǒng)。采用了GUI圖形化操作模式,比起從前的指令操作系統(tǒng)如DOS更為人性化。
2.Unix系統(tǒng)是1969年在貝爾實(shí)驗(yàn)室誕生,最初在中小型計(jì)算機(jī)上運(yùn)行。最早移植到80286微機(jī)上的Unix系統(tǒng),稱為Xenix。Unix有很多種,許多公司都有自己的版本,如AT&T、Sun、HP等
3.Linux系統(tǒng)是一種自由和開(kāi)放源碼的類(lèi)Unix操作系統(tǒng),存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。Linux可以安裝在各種計(jì)算機(jī)硬件設(shè)備中。Linux是一個(gè)領(lǐng)先的操作系統(tǒng),世界上運(yùn)算最快的10臺(tái)超級(jí)計(jì)算機(jī)運(yùn)行的都是Linux操作系統(tǒng)。嚴(yán)格來(lái)講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。
4.Mac OS操作系統(tǒng)是美國(guó)蘋(píng)果計(jì)算機(jī)公司為它的Maccintosh計(jì)算機(jī)設(shè)計(jì)的操作系統(tǒng)的一代操作系統(tǒng),該機(jī)型于1984年推出,在當(dāng)時(shí)的PC還只是DOS枯燥的字符界面的時(shí)候,Mac率先采用了一些我們至今仍為人稱道的技術(shù)。如:GUI圖形用戶界面、多媒體應(yīng)用,鼠標(biāo)等
5.NetWare系統(tǒng)是NOVELL公司推出的網(wǎng)絡(luò)操作系統(tǒng)。NetWare最重要的特征是基于基本模塊設(shè)計(jì)思想的開(kāi)放式系統(tǒng)結(jié)構(gòu)。Netware是一個(gè)開(kāi)放的網(wǎng)絡(luò)服務(wù)器平臺(tái),可以方便的對(duì)其進(jìn)行擴(kuò)充。Netware系統(tǒng)對(duì)不同的工作平臺(tái)(如D0S、0S/2、Macintosh等),不同的網(wǎng)絡(luò)協(xié)議環(huán)境如TCP/IP以及各種工作站操作系統(tǒng)提供了一致的服務(wù)。該系統(tǒng)內(nèi)可以增加自選的擴(kuò)充服務(wù)(如替補(bǔ)備份、數(shù)據(jù)庫(kù)、電子郵件以及記賬等),這些服務(wù)可以取自Netware本身,也可取自第三方開(kāi)發(fā)者。
五、蘋(píng)果開(kāi)發(fā)者賬號(hào)續(xù)費(fèi)后
1.刪除不想要的udid

六、屏幕尺寸

七、小程序:https://github.com/CYQSARA/client
八、GCD

九、事件傳遞流程

十、hitTest:withEvent 系統(tǒng)內(nèi)部實(shí)現(xiàn)

十一、響應(yīng)流程

十二、UI圖像顯示原理

十三、繪制

十四、系統(tǒng)繪制

十五、異步繪制過(guò)程

十六:oc ?runtime分類(lèi)相關(guān)源代碼

十七:分類(lèi)加載調(diào)用棧

十八:關(guān)聯(lián)對(duì)象本質(zhì)

十九、runtime數(shù)據(jù)結(jié)構(gòu):

二十、類(lèi)對(duì)象與元類(lèi)對(duì)象
