1. 程式人生 > >ios-自定義tableViewcell以及注意點

ios-自定義tableViewcell以及注意點

tableViewCell 使用的區別, 
重寫時候,  預設走initWithStyle:    如果想 自定義 cell 必須要通過 init 方法建立

(ps: 如果通過initWithStyle或者registerClass=====>不會走 init 進行初始化  )
//   cell 初始化方法
YYOrderCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if (cell == nil) {
        cell = [[YYOrderCell alloc] init];
    }
//自定義cell
#import "YYOrderCell.h"

@implementation YYOrderCell

- (instancetype)init{
    if (self = [super init]) {

        [self setupUI];// ========= 必須=======放在這個位置===
        NSLog(@"1");
    }
    return self;
}

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString
*)reuseIdentifier{     NSLog(@"2");     //[self setupUI];// ========== 如果=====放在這個位置==>無效     return [super initWithStyle:style reuseIdentifier:reuseIdentifier]; } - (void)setupUI{          UIImageView *pic = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];     pic.backgroundColor = [UIColor
yellowColor];          UITextView *viewtext = [[UITextView alloc] initWithFrame:CGRectMake(200, 10, 100, 100)];     viewtext.backgroundColor = [UIColor grayColor];          self.backgroundColor = [UIColor blueColor];     self.contentView.backgroundColor = [UIColor redColor];          // contentView 和 直接新增到cell的區別     [self.contentView addSubview:pic];     [self addSubview:viewtext];           } @end

init和initWithStyle呼叫順序