日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置UITableView设置contentsize

發布時間:2023/12/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置UITableView设置contentsize 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于UITableView是繼承自UIScrollView的,所以他是可以設置contentsize的。

但是,我在試驗的過程中,初始化UITableView實例后,直接設置它的contentsize是不起作用,在搜尋相關資料得知,UITableView會自動設置contentsize,因為我們在建立tableview的時候是不用自己去設置contentsize的,她是自己計算出來的。

?

高潮要來了!!!

?

她是在實現她的datasource代理方法之后計算的。

一下幾個方法:

- (NSInteger)numberOfSections;

- (NSInteger)numberOfRowsInSection:(NSInteger)section;

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;

?

這些是計算她的height的,而width她會默認的設置為tableview的frame的width。so當你的scrollview的contentsize的width和frame的width一樣大的時候,她是不會滑動的,所以,為什么,我們費心設置contentsize不起作用了。因為我們之前怎么設置,她都會默認經過那幾個方法的時候自動重算一遍。

?

高潮來了!!!

那我們如何自己設置她的contentsize呢,我是在

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath代理中做的,并且設置成功了。

?

總結,開始我以為既然tableview是繼承自scrollview的,那她為什么不能設置contentsize呢,難道scrollview中有其他限制?或者是tableview中有限制。最后得知了她的自己重算流程,得知原來,她是在進行datasource的時候,重新設置了。

那最后想到,我們在她自動設置完成后,我們再給她設置一下不就好了。

?

或者在-(void)viewDidAppear:(BOOL)animated;設置,穩穩地

-(void)viewDidAppear:(BOOL)animated{[super viewDidAppear:animated];self.tableView.contentSize = CGSizeMake(kSCreenWidth, kSCreenHeight+self.picView.height); }

?

轉載于:https://www.cnblogs.com/yyyyyyyyqs/p/7149607.html

總結

以上是生活随笔為你收集整理的设置UITableView设置contentsize的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。