多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > UITableViewCell動態高度設置

UITableViewCell動態高度設置

來源:程序員人生   發布時間:2015-08-07 07:38:07 閱讀次數:4940次

UITableViewCell的高度在默許狀態下能表現的的東西很少,而且在復用的時候由于需要展現的信息不1定,所以需要動態的調理Cell的高度來滿足我們對不同內容的展現。在IOS8之前,這需要手動進行計算高度,比較麻煩。在參考許多人的博客文章后,根據IOS8的autolayout的特性,我做了1個自己的Tabelview自適應。雖然寫的不如github上看到的很多功能很強大,但也算完成了1點點基本的需求。在這進程中也對autoLayout有了1個更深的印象。

首先依照上1篇文章的方法建立1個TabelView。在這里我們還需要創建1個新的自定義TabelViewCell類,這樣能夠方便我們對Cell進行自定義

在自定義類中,要完成以下方法

- (void)layoutSubviews { [super layoutSubviews]; [self.contentView layoutIfNeeded]; self.sentence.preferredMaxLayoutWidth = CGRectGetWidth(self.sentence.frame); }

這個方法將根據設置好的束縛進行布局調劑

接下來是在StroyBoard中進行1些設置。最關鍵的部份是對不同組件之間的束縛。束縛做的好不好將直接影響到最后的效果。

這里寫圖片描述

可以看到在這個原型Cell里面定義了3個組件。我們要做的就是將3個組件和ContentView依照1定束縛聯系起來。
在這里,我做的是將ImageView 和Label 進行上下束縛 ,button 和Label進行左右間距束縛,button和ImageView之間也進行上下束縛。
最后 將3者分別和ContenView進行束縛.

添加束縛的方法。在這里我曾嘗試通過Ctrl拖動進行束縛,但是出來的效果非常奇怪。在通過網上查詢后發現應當通過下圖的方法

這里寫圖片描述

在對每一個組件添加好束縛以后,在TabelViewController里面有1些必須要注意的

- (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChangePreferredContentSize:) name:UIContentSizeCategoryDidChangeNotification object:nil]; self.tableView.estimatedRowHeight = 100.0; self.tableView.rowHeight = UITableViewAutomaticDimension; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self name:UIContentSizeCategoryDidChangeNotification object:nil]; } - (void)didChangePreferredContentSize:(NSNotification *)notification { [self.tableView reloadData]; }

通過添加1個視察者,鐺鐺前的ContentSize要變化的時候,調用方法重新獲得數據。

同時,注意到我們設置了1個默許的高度
self.tableView.estimatedRowHeight = 100.0;

這個是預計估算1個Cell的高度,固然我們也能夠對不同類型的Cell設置不同的預設高度。

小結
對UITableViewCell的自定義是對UITableView自定義擴充的1個非常重要的點。在許多利用中都是靠擴充UITableView來展現信息。自適應高度的Cell更是非常重要。像微博,新聞等APP需要展現圖文的地方非常多,通過自定義Cell就可以快速的實現。在這里,對束縛的認識需要非常非常好。本身的代碼其實不是很多,關鍵是去理解束縛的概念。我在這里花了很多少時間參考了很多代碼。只有多寫多練才能更好的熟習。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 狠狠干一区 | 欧美成人另类 | 国产成人女人视频在线观看 | www.色老头.com | 美女免费观看一区二区三区 | 久久国产高清一区二区三区 | 亚洲欧美国产一区二区三区 | 国产欧美亚洲三区久在线观看 | 精品国产一区二区三区www | s级毛片| 亚洲一区二区三区欧美 | 纯欧美一级毛片免费 | 国产色视频一区二区三区 | 免费看亚洲 | 在线a人片免费观看不卡 | 欧美特级午夜一区二区三区 | 欧美日韩一区二区高清视 | 最近中文国语字幕在线播放视频 | 国产三级视频在线 | 在线亚洲欧国产精品专区 | 亚洲欧洲在线视频 | 亚洲欧洲日韩国产一区二区三区 | 国产成人精品一区二区免费 | 亚洲性综合网 | 激情图片小说区 | 亚州黄色网址 | 2020久久国产最新免费观看 | 欧美h版成版在线观看 | 99福利| 欧美xxxxxxxxxx黑人 | 午夜爽爽爽男女免费观看hd | 另类小说综合网 | 亚洲精品欧美日韩 | 国产综合视频 | 亚洲二区在线观看 | 亚洲欧美视频网站 | a级网站在线观看 | 国产欧美成人一区二区三区 | 亚洲αv| 亚洲图片欧美在线 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 |