iOS之如何自適應TableViewCell的高度
1. 問題描述:
在專案中會遇到由於每個cell的圖片和文字大小不一致,如果cell的height高度設定不合理的話,對使用者體驗不是很好。但是如果對cell的height高度設定死之後,當遇到大量文字的話也會出現問題。所以這就需要在每次對cell進行繪製的時候對cell的height進行計算,然後再繪製cell。但是一般情況下,這種對cell的height計算會比較複雜。但是Apple自iOS 8之後推出了一種新的方式,可以用幾行程式碼就可以設定cell的自適應高度,連func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { }方法都可以進行省略。
解決方案:
//iOS 8開始的自適應高度,可以不需要實現定義高度的方法
self.tableView.estimatedRowHeight = 200
self.tableView.rowHeight = UITableViewAutomaticDimensio
新增如上程式碼之後,然後執行之後,就可以發現一個驚奇的效果~
2. 問題描述:
在按照1中解決方案修改程式碼之後,重新執行專案,發現cell的圖片有些壓縮,並沒有出現自適應高度的效果。但是當你用滑鼠往下拉動cell的之後,令人奇怪的一幕發生了,這個時候所有的cell都變大也就是cell的自適應高度有效果了。那究竟原因是什麼呢?
解決方案:
在review程式碼幾分鐘之後,發現了原因。因為我在對cell中的圖片進行賦值的時候,是採用的非同步載入圖片,所以計算圖片的高度會需要一會時間,以至於我往後拉一下所有的圖片就會恢復到自身的大小。於是,我在對cell的圖片控制元件進行賦值的時候,是採用直接賦值,也就是同步操作。詳見程式碼:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let initIdentifier = "MyCell" var cell = tableView.dequeueReusableCellWithIdentifier(initIdentifier) as? NewsTableViewCell if cell == nil{ tableView.registerNib(UINib(nibName: "NewsTableViewCell", bundle: nil), forCellReuseIdentifier: initIdentifier) cell = tableView.dequeueReusableCellWithIdentifier(initIdentifier) as? NewsTableViewCell } //進行cell的繪製 let model = self.items1[indexPath.row] // cell?.headerImage.image = UIImage(data: NSData(contentsOfURL: NSURL(string: model.newsImageName)!)!) //利用SDWebImage非同步載入圖片 cell?.headerImage.sd_setImageWithURL(NSURL(string: model.newsImageName)) //圖片圓角功能 // cell?.headerImage.layer.cornerRadius = 60 // cell?.headerImage.layer.masksToBounds = true cell?.headerLabel.text = model.newsTitle cell?.selectionStyle = UITableViewCellSelectionStyle.None return cell! }
3.詳見程式碼部分(ViewController+TableView.swift)
相關推薦
iOS之如何自適應TableViewCell的高度
1. 問題描述: 在專案中會遇到由於每個cell的圖片和文字大小不一致,如果cell的height高度設定不合理的話,對使用者體驗不是很好。但是如果對cell的height高度設定死之後,當遇到大量文字的話也會出現問題。所以這就需要在每次對cell進行繪製的時候對
iOS Label 自適應高度
非主流 自適應高度 all category blog 自適應 logs uicolor height 推薦第二個 測試一,只改變numberOfLines屬性,label的高度不會自適應(會有text中的一部分內容稱為......) NSString *str
iOS 8自適應高度單元格問題
iOS 8 中通過UITableViewAutomaticDimension 常量支援自適應高度的單元格(iOS 7 就要麻煩得多)。但是在實際應用中,我們需要注意以下幾個問題: 1、 設定好模板單元格的自動佈局 模板單元格中,subviews的自動區域性
iOS UITextView自適應高度貼上大量文字導致顯示不全問題處理
對UITextView做了輸入自適應高度處理,在貼上大量文字時出現了高度可自適應但文字顯示不全的問題,檢視圖層發現_UITextContainerView顯示的高度和實際高度不同,在自適應高度程式碼後新增下面程式碼,問題得到處理。 [textView sc
完美解決iOS的WebView自適應內容高度問題
轉自:http://blog.csdn.net/ayuapp/article/details/45565121 /////////////////////////////初始化,self.view是父控制元件///////////////////////////////
iOS的WebView自適應內容高度
// _webView = [[UIWebView alloc] initWithFrame: CGRectMake(0, 0, self.view.frame.size.width, 0)]; _webView.delegate = self; _webView.
iOS UITableView cell自適應內容高度
定義UITableView 並且遵守兩個協議 firstTableView = [[UITableViewalloc]initWithFrame:CGRectMake(0, 64, kScreenWidth, kScreenHeight-64) style:UITa
XHTML學習筆記(3)之自適應高度
#header{ MARGIN: 0px; BORDER: 0px;BACKGROUND: #ccd2de; WIDTH: 580px; HEIGHT: 60px;} #mainbox { MARGIN: 0px; WIDTH: 580px; BACKGROUND: #FFF
頁面中自適應iframe高度的問題總結
當需要對iframe進行操作,例如獲取iframe的高度等,iframe和當前頁面需要時同域,跨域情況下是獲取不到的; 當動態設定iframe的高度時,iframe的高度一旦變大是不會自動縮小的。 例如: iframe中 a 頁面高度為800px,b 頁面的高度為500
eayui js動態載入Datagrid,自適應寬度,高度
HTML: <div class="easyui-layout" style="min-height:100%;min-width:100%;"> <div id="gridData" class="region:'center',easyui-datagrid" ></
Matlab之自適應直方圖均衡adapthisteq
轉自這裡 adapthisteq函式執行所謂的對比度受限的自適應直方圖均衡 這種方法用直方圖匹配方法來逐個處理影象中的較小區域(稱為小塊)。然後使用雙線性內插方法將相鄰的小片組合起來,從而消除人口引入的邊界。 特別在均勻的灰度區域,可以限制對比度來避免放大噪聲。 &
微信小程式scroll-view元件自適應不同高度的手機
已知微信相比於H5開發有rpx這個單位可以自適應一些不同寬度的手機,但是有的時候需要自適應一些手機高度賊大的手機比如iphoneX系列 所以scroll-view的wxss樣式裡肯定不能寫死,我能想到的方法就是js裡頭載入畫面前再設定高度 wxml裡 <scrol
iOS 8 自適應 Cell
在使用 table view 的時侯經常會遇到這樣的需求:table view 的 cell 中的內容是動態的,導致在開發的時候不知道一個 cell 的高度具體是多少,所以需要提供一個計算 cell 高度的演算法,在每次載入到這個 cell 的時候計算出 cell 真正的高度。
怎麼讓Html的高度自適應螢幕高度
在寫css靜態頁面的時候讓Html的高度自適應螢幕高度是一個常見的需求,比如你有一個需要置底的bottom按鈕,需要在內容不足一屏的時候顯示在螢幕的底部,在內容超過一屏的時候顯示在所有內容的底部。
等比縮放之自適應神器——css3的rem
1.rem簡介 rem是CSS3中新增加的一個單位值,他和em單位一樣,都是一個相對單位。不同的是em是相對於元素的父元素的font-size進行計算;rem是相對於根元素html的font-size進行計算。這樣一來rem就繞開了複雜的層級關係,實現了類似於em單位的功
iOS之自定義導航按鈕UIBarButtonItem的樣式
在一個APP中導航的重要性和方便性自然不需要多說了,由於系統的導航用起來實在不怎麼友好,一直想抽個時間把導航學習下 由於投入到工作的時間多些,懶懶散散的一直都是用的時候才去找度娘,一直沒來個總結,前段時間在群裡和別人討論的 時候我說自定義導航不就是隱藏系統的,自己新增一個U
InnoDB關鍵特性之自適應hash索引
一、索引的資源消耗分析 1、索引三大特點 1、小:只在一個到多個列建立索引 2、有序:可以快速定位終點 3、有棵樹:可以定位起點,樹高一般小於等於3 2、索引的資源消耗點 1、樹的高度,順序訪問索引的資料頁
javascript改進textarea文字域自適應內容高度
場景需求:根據輸入內容自適應高度,textarea不能滿足需求,需要該進 autoTextarea.js: define('autoTextarea',[],function(){ return{ &n
詳細實現微信輸入框效果(textView自適應文字高度)
前言 最近會不斷推出一些輪子,這次寫了一個控制元件,類似微信輸入框,評論View,隨著文字增加,textView自增長高度, 如果喜歡我的文章,可以關注我微博:吖了個崢,也可以來小碼哥,瞭解下我們的iOS培訓課程。後續還會更新更多內容,有任何問題,歡迎簡書留言崢吖。。。 Dem
PHP自適應寬高度等比例縮圖函式 (無裁切)
對於產品類或者圖片類網站來說,縮圖是一個很重要的應用。其實說來很簡單,也就是把大圖縮放成一個小圖,用於圖片的列表展示,這樣可以達到使用者快速瀏覽的目的,又能節省頻寬。 如果是等比例縮放,比如小圖是大圖的1/2或者1/5之類的,比較容易處理。但有時候我們需要處理大量不同尺寸的大圖,讓其生成固定寬高度的縮圖。那就