tableview 設(shè)置初始顯示位置

需要設(shè)置初始顯示位置,最初想到的是用viewWillAppear方法或者viewDidAppear方法設(shè)置tableview的偏移量,但是后來發(fā)現(xiàn)沒有效果。后來試著在viewDidLayoutSubviews設(shè)置,真的有用。

- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];

//用一個(gè)標(biāo)識(shí)防止不停地調(diào)用
if (!_hasFinishLayouSubview) {
    _hasFinishLayouSubview = YES;
    
    [_mainTableView layoutIfNeeded];
    [_mainTableView setContentOffset:CGPointMake(0, 400)];
}}

如果是想要跳轉(zhuǎn)到tableview的某一行,則需要修改以下語句(注意,tableview一定要存在該行,否則會(huì)出錯(cuò))。

//[_mainTableView setContentOffset:CGPointMake(0, 400)]; 
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[_mainTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO];

如果tableview的數(shù)據(jù)源不是靜態(tài)的話,也不能實(shí)現(xiàn)跳轉(zhuǎn)到某一行??赡苁且?yàn)樵谡{(diào)用viewDidLayoutSubviews方法時(shí),tableview還沒有確定數(shù)據(jù)源。

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內(nèi)容...
    i得深刻方得S閱讀 4,980評(píng)論 1 9
  • 1.自定義控件 a.繼承某個(gè)控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,704評(píng)論 2 4
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,626評(píng)論 30 472
  • 由一根鐵鏈環(huán)繞著骷髏,鐵鏈兩段分別連著一把收割用的小鐮刀和一盞提燈組成。 靈武:一根鐵鏈加兩段分別連著一把收割用的...
    月華奎靈閱讀 462評(píng)論 0 0
  • 愛的紀(jì)念 文:微笑 截取路上,一程微風(fēng)細(xì)雨 捧在手心。截取一枚 淬煉過風(fēng)霜的樹葉 寫首小詩,然后,寄給大海 截取一...
    陳炎平_微笑閱讀 302評(píng)論 0 0

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