日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

UITableViewCell動態高度設置

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

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就可以快速的實現。在這里,對束縛的認識需要非常非常好。本身的代碼其實不是很多,關鍵是去理解束縛的概念。我在這里花了很多少時間參考了很多代碼。只有多寫多練才能更好的熟習。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品一区二区三区久久久 | 99在线视频免费观看 | 精品美女久久久 | 亚洲一区欧美二区 | 夜夜福利 | 日韩欧美高清在线 | 最新中文字幕免费视频 | 在线观看中文字幕国产 | youjizz欧美| 久色91| 欧美日韩在线综合 | 国产激情在线 | 成人在线视频网站 | 久久精视频 | 精品一区二区不卡 | 日韩精品免费在线视频 | 中文字幕精品久久久久 | 国产福利片在线 | 国产精品视频导航 | 国产麻豆久久 | 欧美另类专区 | 欧美性猛交xxx | 黄色伊人网 | 欧美在线综合视频 | 日韩欧美电影在线观看 | 亚洲激情中文字幕 | 国产欧美日韩精品一区 | 国产欧美日韩精品一区 | 日韩在线播放视频 | 一区二区三区在线视频观看 | 不卡一区二区三区四区 | 黄视频在线观看网站 | 国产亚洲精品久久久久久牛牛 | 欧美中文 | 日美一级毛片 | 日韩av影院在线 | 免费日韩视频 | 久久综合影院 | 天天操夜夜摸 | 久久精品一区二区三区不卡牛牛 | 懂色一区二区三区在线播放 |