使用UICollectionView遇到的各種坑

2022-03-09 21:36:30 字數 2114 閱讀 9561

1)頭檢視和尾部檢視的新增

uicollectionreusableview *headerview = [collectionview dequeuereusablesupplementaryviewofkind:uicollectionelementkindsectionheader withreuseidentifier:@"headerview" forindexpath:indexpath];

uicollectionreusableview *footerview = [collectionview dequeuereusablesupplementaryviewofkind:uicollectionelementkindsectionfooter withreuseidentifier:@"footerview" forindexpath:indexpath];

2)內嵌(需求就是uicollectionview沒有像tableview一樣的tabheaderview),想要製造乙個

contentinset

3)沒有註冊

[_collectionview registerclass:[uicollectionreusableview class] forsupplementaryviewofkind:uicollectionelementkindsectionheader withreuseidentifier:@"headerview"];

[_collectionview registerclass:[uicollectionreusableview class] forsupplementaryviewofkind:uicollectionelementkindsectionfooter withreuseidentifier:@"footerview"];

2.使用uicollectionview遇到的復用問題

1)頭檢視的使用

for (uiview *view in headerview.subviews)

for (uiview *view in footerview.subviews)

2)cell的復用

knowledgebasepopcell *cell = [collectionview dequeuereusablecellwithreuseidentifier:@"knowledgebasepopcell" forindexpath:indexpath];

3.使用uicollectionview不走**的問題

1)item尺寸計算錯誤

2)禁止使用0.01這種尺寸

//每個item之間的間距

-(cgfloat)collectionview:(uicollectionview *)collectionview layout:(uicollectionviewlayout *)collectionviewlayout minimuminteritemspacingforsectionatindex:(nsinteger)section

//定義每個section 的 margin

-(uiedgeinsets)collectionview:(uicollectionview *)collectionview layout:(uicollectionviewlayout *)collectionviewlayout insetforsectionatindex:(nsinteger)section

上述兩個是不走-(uicollectionviewcell *)collectionview:(uicollectionview *)collectionview cellforitematindexpath:(nsindexpath *)indexpath

return yes;

}4。使用uicollectionview組頭也可以懸停

uicollectionviewflowlayout *flowlayout = [[uicollectionviewflowlayout alloc] init];

//header

flowlayout.sectionheaderspintovisiblebounds = yes;

//footer

flowlayout.sectionfooterspintovisiblebounds = yes;

問題:這僅在ios9中才支援這種設定

by:ml

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...