自訂uitableviewcell,uitableviewcell

來源:互聯網
上載者:User

自訂uitableviewcell,uitableviewcell

建立繼承自uitableviewcell的子類

xib自訂樣式並指定其重用標示

配置cell資料

#import <UIKit/UIKit.h>@interface CellStyleTwo : UITableViewCell//工號@property (weak, nonatomic) IBOutlet UILabel *userCode;//電話@property (weak, nonatomic) IBOutlet UILabel *phoneNumber;/** *  配置 cell資料 */-(void)configureCellStyleTwo:(id)data;@end
/** *  配置 cell資料 * *  @param data */-(void)configureCellStyleTwo:(id)data{    //如果資料是字典    NSDictionary* dictionary=(NSDictionary*)data;    if (dictionary)    {        self.userCode.text=dictionary[@"usercode"];        self.phoneNumber.text=dictionary[@"userTel"];    }}

 對於是不是需要重寫初始化,得看使用方法,如果是這樣使用的話就不需要

                       [self.tableView registerNib:[UINib nibWithNibName:@"CellStyleTwo"                                                                  bundle:[NSBundle mainBundle]]                            forCellReuseIdentifier:@"CellStyleTwo"];

因為這種方式系統是直接尋找得指定資源,不會使用預設建立方式

下面就需要

                       [self.tableView registerClass:[CellStyleTwo class]                              forCellReuseIdentifier:@"CellStyleTwo"];
-(nonnull instancetype)initWithStyle:(UITableViewCellStyle)style                     reuseIdentifier:(nullable NSString *)reuseIdentifier{    self=[super initWithStyle:style              reuseIdentifier:reuseIdentifier];    return [[[NSBundle mainBundle] loadNibNamed:@"CellStyleTwo"                                         owner:self                                       options:nil] firstObject];}

這種方式僅僅是指定了註冊的類,系統會使用預設的方式建立,但並不是我們所期望的,所以需要重寫起初始化。

但是cell的重用是一樣的

-(UITableViewCell *)tableView:(UITableView *)tableView        cellForRowAtIndexPath:(NSIndexPath *)indexPath{          UITableViewCell* uiTableViewCell= [tableView dequeueReusableCellWithIdentifier:self.nsStringIdentifier                                                                        forIndexPath:indexPath];      self.blockConfigureCell(uiTableViewCell,self.nsArrayModels[indexPath.row]);            tableView.tableFooterView=[[UIView alloc] initWithFrame:CGRectZero];            return uiTableViewCell;}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.