iOS開發之自訂UITableView的cell

來源:互聯網
上載者:User

標籤:

系統預設的UITableViewCell的每行都有橫線(分隔字元),就算沒有資料也是如此,有時候我們想只在有資料的地方有底線,可以去除底線,然後在awarkFromNid方法中使用addsubview的方法加入底線到UITableViewCell的contentView中。但有些時候我們還要自訂其他類型的Cell。

自訂cell有兩種方法,一種是通過xid自訂控制項,一種是通過代碼自訂cell。

通過xid自訂cell的步驟:

  1. 建立一個xib檔案描述一個view的內部結構(假設叫做MJTgCell.xib)
  2. 建立一個自訂的類

(自訂類需要繼承自系統內建的view, 繼承自哪個類,  取決於xib根對象的Class)

  1. 建立類的類名最好跟xib的檔案名稱保持一致(比如類名就叫做MJTgCell)
  2. 將xib中的控制項和自訂類的.m檔案進行連線
  3. 提供一個類方法返回一個建立好的自訂view(屏蔽從xib載入的過程)
  4. 提供一個模型屬性讓外界傳遞模型資料
  5. 重寫模型屬性的setter方法,在這裡將模型資料展示到對應的子控制項上面

通過代碼自訂cell步驟:

1.建立一個繼承自UITableViewCell的類

2.重寫- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier

:(NSString *)reuseIdentifier方法:

  • Ø 添加所有需要顯示的子控制項(不需要設定子控制項的資料和frame,  子控制項要添加到contentView中)
  • Ø 進行子控制項一次性的屬性設定(有些屬性只需要設定一次, 比如字型\固定的圖片)

3.提供2個模型

  • Ø 資料模型: 存放文字資料\圖片資料
  • Ø frame模型: 存放資料模型\所有子控制項的frame\cell的高度

4.cell擁有一個frame模型(不要直接擁有資料模型)

5.重寫frame模型屬性的setter方法: 在這個方法中設定子控制項的顯示資料和frame

6.frame模型資料的初始化已經採取懶載入的方式(每一個cell對應的frame模型資料只載入一次)

iOS開發之自訂UITableView的cell

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.