iOS解決tableView左邊分割線有間距問題

2021-07-08 15:31:01 字數 963 閱讀 5288

ios7 uiscrollerview 的乙個特點 如果uiscrollview是父view的第乙個子view 會自動新增偏移量 uitableview

繼承自uiscrollview 所以有偏移15畫素

下面我們接著分析這個問題,讓我們查詢下 tableview delegate  我們會發現 ios7 增加了一些新屬性,

這個時候你應改發現separatorinset 這個單詞是否有點眼熟,  蘋果公司已經給了注釋,可以自定義cell 的分割線,

uiedgeinsets 是個結構體型別,這時候我們發現了我們要的屬性 left

typedef struct uiedgeinsets uiedgeinsets;

ios7中,uitableviewcell左側會有預設15畫素的空白。設定setseparatorinset:uiedgeinsetszero 能將空白去掉。

ios8中,setseparatorinset:uiedgeinsetszero 的設定已經不起作用了。

下面是解決辦法,首先在viewdidload方法加入以下**:

if ([self.tableview respondstoselector:@selector(setseparatorinset:)])

if ([self.tableview respondstoselector:@selector(setlayoutmargins:)])

然後在uitableview的**方法中加入以下**

- (void)tableview:(uitableview *)tableview willdisplaycell:(uitableviewcell *)cell forrowatindexpath:(nsindexpath *)indexpath

if ([cell respondstoselector:@selector(setlayoutmargins:)])

}

iOS效能優化 TableView

下面介紹一些我們可以自己設定的新能優化 1 盡量不透明的檢視 不透明檢視可以極大提高渲染的速度.因此如果可以,將 cell 及其子檢視的 opaque 屬性設定為 yes 預設值 cell 的 backgroundcolor 的 apha 值應為1 不要使用 clearcolor 影象的 apha ...

iOS筆記 遍歷Tableview

ios不提倡遍歷全部cell,從拋給開發者的api就可以看出來,就給乙個visiblecells方法,不讓你輕鬆的拿到全部cell,優化記憶體使用的極佳方案。非要遍歷全部cell怎麼辦?只返回可見的cell uitableviewcell cellforrowatindexpath nsindexp...

iOS筆記 遍歷Tableview

ios不提倡遍歷全部cell,從拋給開發者的api就可以看出來,就給乙個visiblecells方法,不讓你輕鬆的拿到全部cell,優化記憶體使用的極佳方案。非要遍歷全部cell怎麼辦?只返回可見的cell uitableviewcell cellforrowatindexpath nsindexp...