xib中 UIScrollView 設(shè)置contentSize 問題

在xib(storyboard)中使用 UIScrollView, 默認(rèn)是勾選了autolayout選項的,在autolayout下,iOS計算UIScrollView的contentsize的機制是略有不同。在autolayout中,會在viewDidAppear之前根據(jù)subview的constraint重新計算UIScrollView的contentsize。 當(dāng)在viewdidload里手動設(shè)置contentsize時,會再重新計算一次,把前面手動設(shè)置的值覆蓋掉。

iOS7中,需在viewDidLayoutSubviews中設(shè)置scrollView.contentSize屬性

-(void)viewDidLayoutSubviews
{
    self.scrollView.contentSize = CGSizeMake(xx,xx);
}

iOS8及以上,只需要在viewDidAppear方法中設(shè)置就好了

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    self.scrollView.contentSize = CGSizeMake(xx,xx);
}

所以,如果要最低支持iOS7系統(tǒng),只需在viewDidLayoutSubviews中設(shè)置contentSize屬性即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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