@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;
}
