@interface ContentsTableViewCell() @property (weak, nonatomic) IBOutlet UIImageView *headermag; @property (weak, nonatomic) IBOutlet UILabel *namelabel; @property (weak, nonatomic) IBOutlet UILabel *citylabe; @property (weak, nonatomic) IBOutlet UILabel *looklabel; @property (weak, nonatomic) IBOutlet UIImageView *bigmag; ******************這里使用xib拖拽的 @end @implementation ContentsTableViewCell - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self=[super initWithStyle:style reuseIdentifier:reuseIdentifier]) { }return self; } - (void)awakeFromNib { [super awakeFromNib]; // Initialization code
}
2.。。。。重載如下方法也無法達到修改效果
//-(void)layoutSubviews
//{
// [self layoutSubviews];
// [self UpdateUI];
//}
}
3.。。。。。。。。3.這個方法最好 對視圖的修改方法可以解決 - (void)drawRect:(CGRect)rect { [self updateUI]; }
// 更新視圖的方法 這個視圖要再哪里調用 我們這里分析下1.2.3 - (void)updateUI { _headermag.layer.cornerRadius = 20; _headermag.layer.masksToBounds = YES; _looklabel.numberOfLines = 2; _looklabel.textAlignment = NSTextAlignmentRight; } - (void)setContentsmodel:(ContentsModel *)contentsmodel {
1.。。。。。。1.嘗試過在此次對里面的子視圖進行修改,但初次顯示的內容尺寸無法修改,當這個cell被重用時可以達到修改效果,也深度在此時通過定時器延時進行修改,可解決,可有時會有延時的效果,不完美... 在這里就賦值就好了 但是對子視圖控件有需要修改的地方這里不是最優的 _contentsmodel = contentsmodel; [_headermag sd_setImageWithURL:[NSURL URLWithString:_contentsmodel.creator.portrait] placeholderImage:[UIImage imageNamed:@"tab_me_p"]]; _namelabel.text = _contentsmodel.creator.nick; _citylabe.text = _contentsmodel.city; [_bigmag sd_setImageWithURL:[NSURL URLWithString:_contentsmodel.creator.portrait] placeholderImage:[UIImage imageNamed:@"tab_me_p"]]; }
在controller里面可以這么實現
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { FavoriteItemCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FavoriteItemCell"]; if (cell == nil) { cell = (FavoriteItemCell *)[[NSBundle mainBundle] loadNibNamed:@"FavoriteCell" owner:self options:nil][0]; } cell.model = _arrayOfData[indexPath.section]; return cell; }