iOS開發(fā)之UI(十二)

自定義Cell

系統(tǒng)提供的Cell滿足不了復(fù)雜的樣式,因此:自定義Cell和自定義視圖一樣,自己床架哪一種符合我們要求的Cell并使用這個(gè)Cell

自定義Cell步驟:

  • 創(chuàng)建一個(gè)類繼承于UITableViewCell
  • 實(shí)現(xiàn)UITableViewCell的初始化方法
  • 確保所有你想要添加的子視圖都在自定義Cell的初始化方法中創(chuàng)建
  • 在Cell的子視圖創(chuàng)建成功后,將子視圖設(shè)置為屬性

// 重寫初始化方法
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
  if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
    // 創(chuàng)建圖片視圖對象
    self.iconImageView = [[UIImageView alloc] init];
    self.iconImageView.backgroundColor = [UIColor blueColor];
    [self.contentView addSubview:self.iconImageView];
    // 創(chuàng)建標(biāo)題對象
    self.titleLabel = [[UILabel alloc] init];
    self.titleLabel.backgroundColor = [UIColor blueColor];
    [self.contentView addSubview:self.titleLabel];
    // 創(chuàng)建簡介對象
    self.introduceLabel = [[UILabel alloc] init];
    self.introduceLabel.backgroundColor = [UIColor blueColor];
    [self.contentView addSubview:self.introduceLabel];
    
    // 布局
    CGFloat iconH = kHeight - 10;
    CGFloat iconW = (kWidth - 15) / 3;
    CGFloat labelH = (iconH - 5) / 3;
    
    self.iconImageView.frame = CGRectMake(5, 5, iconH, iconW);
    self.titleLabel.frame = CGRectMake(10 + iconW, 5, 2 * iconW, labelH);
    self.introduceLabel.frame = CGRectMake(10 + iconW, 10 + labelH, 2 * iconW, 2 * labelH);
}
return self;
}

// 布局子視圖
- (void)layoutSubviews {
    CGFloat iconH = kHeight - 10;
    CGFloat iconW = (kWidth - 15) / 3;
    CGFloat labelH = (iconH - 5) / 3;

    self.iconImageView.frame = CGRectMake(5, 5, iconH, iconW);
    self.titleLabel.frame = CGRectMake(10 + iconW, 5, 2 * iconW, labelH);
    self.introduceLabel.frame = CGRectMake(10 + iconW, 10 + labelH, 2 * iconW, 2 * labelH);
}

本文不討論自適應(yīng)高度,因?yàn)橹两襁€沒有程序的方法來代碼自定義創(chuàng)建Cell并且獲取自適應(yīng)高度,除非通過第三方類庫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 代碼創(chuàng)建UIWindow對象 Xcode7之后使用代碼創(chuàng)建UIWindow對象: //創(chuàng)建UIWindow對象 s...
    云之君兮鵬閱讀 1,504評論 0 2
  • 翻譯自“Collection View Programming Guide for iOS” 0 關(guān)于iOS集合視...
    lakerszhy閱讀 4,082評論 1 22
  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時(shí)使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,307評論 3 38
  • 秦培育自傳 我是誰?請聽我慢慢道來。 我與秦始皇同宗,姓秦,大名培育。性別,男。今年13歲。...
    吳老師教語文閱讀 587評論 0 1
  • 湖南常德,益陽,沅江,在沈從文的筆下,風(fēng)景優(yōu)美,鄉(xiāng)情淳樸,女人性感,美麗,活潑。遺憾我沒有他那樣的閱歷,才華和文筆...
    2668e9ad2f35閱讀 646評論 0 1

友情鏈接更多精彩內(nèi)容