1. 程式人生 > >自定義UiTableViewCell高度

自定義UiTableViewCell高度

  • @interface DemoCell : NSObject{

       UILabel *_content;

    }

    -(CGFloat)contentHeight;

    -(void)setContent:(NSString *)content;

    @end;

    從上面的DemoCell來看其帶有一個UILabel物件,這個Cell就是要根據UILabel的內容動態更改高度。其中contentHeight方法是返回Cell的高度。setContent是設定UILabel的內容並計算UILabel的高度。此類很簡單要做的就是這樣這些操作。然後我們在控制器中定義一個樣本Cell專門用於計算Cell的高度。程式碼如下:

    #import "DemoCell.h"

    @interface DemoViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>{

        UITableView *_tableView;

        DemoCell *_sampleCell;

        NSArray *_listData;

    }

    @end;

    其中部分實現程式碼如下:

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

    *)indexPath{

        //在此使用樣本Cell計算高度。

        NSString *content=[_listData objectAtIndex:indexPath.row];

        [_sampleCell setContent:content];

        return [_sampleCell contentHeight];

    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

        static NSString *

    [email protected]"DemoCell";

        DemoCell *cell=(DemoCell *)[tableView dequeueReusableCellWithIdentifier:cellId];

        if(cell==nil){

            cell=[[[DemoCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId] autorelease];

        }

        [cell setContent:[_listData objectAtIndex indexPath:indexPath.row]];

        return cell;

    }

           到此為止我們已經順利地展示瞭如何動態變更Cell的高度。只要內容變更我們呼叫UITableView的reloadData方法就可以重新整理整個列表了。Cell如何計算高度本人沒有列出來,因為不同的需求導致這部分的實現會不一樣。這裡只是把思路給大家交代清楚。具體的實現還是要各位童鞋們自己動手操作。

  • 相關推薦

    Masonry適配——(7)UITableView中定義UITableViewCell高度適應及計算

    在UITableView列表的使用中,因為在自定義的UITableViewCell中頁面相對複雜,所以會出現每一個cell都有不同的高度。這時候就需要根據實際內容進行cell的更新約束,其實說到底也就是哪些UI子檢視應該顯示,或隱藏,哪些UILabel標籤高度是這個數值,

    定義UiTableViewCell高度

    @interface DemoCell : NSObject{    UILabel *_content; } -(CGFloat)contentHeight; -(void)setContent:(NSString *)content; @end; 從上面的DemoCell來看其帶有一個UILabel物

    IONIC定義動態高度SubHeader的解決方案

    IONIC subheader是我們常用的一個css 屬性,但是這個subheader的高度是固定的,當然也是可以改變的,但是如果改了subheader的告訴,還要更改content的top值,稍微有些麻煩,如果是動態告訴的subheader就麻煩了,還需要動態

    UItextView定義高度,禁止滾動

    /* 返回指定內容的textView控制元件高度 value:指定的控制元件內容 fontSize:指定的控制元件內容字號 width:控制元件寬度 */ - (float) heightF

    定義UITableViewCell勾選框的保持

    1//定義協議 @protocol FreeStockTableViewCellDelegate <NSObject> -(void)button:(UIButton*)button andStock_code:(NSString *)stockCode

    ios鍵盤彈出擋住帶定義UITableViewCell的UITableView的解決方法

    案例: 需要做一個UITableView,其包含兩個section,其中一個section中的cell是UITableViewCell類物件,另一個section中的cell是自定義的Cell類物件,自定義的Cell是一個表單,裡面包含有多個UITextField。 遇

    使用autolayout定義動態高度的cell

    關於使用autolayout建立動態cell,網上也有不少的文章,但是裡面的內容都是說的一個問題,簡稱換湯不換藥,都是說的一些UILabel或者UITextView等等一些控制元件顯示的文字內容不同來實現不同的高度。 但是我們平常使用的自定義cell很多都是顯

    用xib定義UITableViewCell的注意事項——重用問題

    問題的提出: 有時候我們經常需要自定義tableView的cell,當cell裡面的佈局較為複雜時往往捨棄純程式碼的方式而改用xib的方式進行自定義。當我們用純程式碼的方式佈局cell時,往往會在cell的initWithStyle: reuseIdentifier:

    ios UITableView和定義UITableViewCell

    1、自定義cell,FindCell.h#ifndef FindCell_h #define FindCell_h #import <UIKit/UIKit.h> @interface FindCell : UITableViewCell @property

    Swift:定義UITableViewCell背景色

    效果 前言 前段時間在整理課件 《UITableView》 章節的時候,看著單元格選中時的背景顏色覺得特別扭,系統給的顏色太過單調,當時想整理一篇修改單元格選中樣式的文章,但一直沒有時間,現在閒下來,終於可以完成了。在實際開發中,系統提供的樣式不能滿足需

    iOS 使用純程式碼定義UITableViewCell實現一個簡單的微博介面佈局

    一、實現效果 二、使用純程式碼自定義一個UITableViewCell的步驟 1.新建一個繼承自UITableViewCell的類 2.重寫initWithStyle:reuseIdentifier:方法 新增所有需要顯示的子控制元件(不需要設定子控制元件的資料和fram

    定義UITableViewCell分割線不顯示或粗細不同的原因

    由於系統預設的UITableView的下劃線在自定義的時候並不方便。系統有一個方法 tableview setSeparatorInset:inset 可以修改分割線的起始和終止位置,但是對分割線的粗細和顏色還是無法隨心所欲的修改。 因此我們通常採用自定義

    UITableviewCell使用以及定義高度

    UITableView號稱是 ios裡面最難使用也是最複雜的一個控制元件? 是不是暫且不說,反正我覺得HttpRequest也是挺複雜的。 但確實被UItableview折磨了一段時間,還好搞定了一小半。 一、如何重用UITableviewCell  重用的目的是為了減

    iOS 根據字符串數目,定義Label等控件的高度

    rect 復制代碼 設置 高度 uifont ios oat size hsi 利用分類,NSString,增加一個方法。 #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @

    定義高度寬度縮小圖片

    path java clas thumbnail getparent pos 比例 縮放 subst 直接上代碼: package com.henu.test; import java.awt.Graphics; import java.awt.image.Buffer

    Easyui 定義樣式設置表格高度後 TreeGrid多出空白行

    增強 ble 空白行 eas table tr 兩種 easyui 定義 追加   EasyUI datagrid 官方代碼中 表格的高度太矮,於是新增了樣式來增強表格高度 .datagrid-btable tr{height: 35px;} /* datagrid

    vue Element-ui 表格帶篩選框定義高度

    image n-k pre chrome code lac 分享 sso spa el-table中可以在一行的某列進行篩選,代碼如下: <el-table-column prop="classOfTest" class="test" label="測試類名" :

    Android從零擼美團(三) - Android多標籤tab滑動切換 - 定義View快速實現高度定製封裝

    這是【從零擼美團】系列文章第三篇 【從零擼美團】是一個高仿美團的開源專案,旨在鞏固 Android 相關知識的同時,幫助到有需要的小夥伴。 GitHub 原始碼地址:github.com/cachecats/L… Android從零擼美團(一) - 統一管理 Gradle 依賴 提取到單獨檔案中 Andr

    Flutter定義標題欄之處理狀態列高度

    App在很多情況下由於各種需求需要自定義標題欄,而在能夠構建Android和IOS應用的Flutter中,如果不在Scaffold中使用AppBar會發現預設是沉浸式。 猜想:我們使用自定義標題欄好像需要知道狀態列的高度,我看到網上很多人想要自定義標題欄,卻老是去找怎麼獲取狀態列的高度 解惑:其

    [Swift通天遁地]二、表格表單-(1)建立定義UITableViewCell(單元格類)

    本文將演示如何在表單檢視中,新增一個自定義的單元格類。 首先建立一個自定義的單元格類。 在專案資料夾【DemoApp】上點選滑鼠右鍵,彈出右鍵選單。 【New File】->【Cocoa Touch Class】->【Next】-> 【Class】:CustomizeUITableV