关于适配tableviewcell内的view时出现的问题

来源:互联网 发布:java agent premain 编辑:程序博客网 时间:2024/06/10 11:16

昨天在cellForRowAtIndexPath里写如下代码时,出现一个问题:运行后发现cell上更改frame的view并没有改变,但是滑动下去,再划上来就变了

if ([scl.scholarIconDisplay isEqualToString:@"0"]) {

            cell.round_cover.hidden = NO;

            cell.imageView.frame = cell.round_cover.frame;

            cell.scholarName.frame = CGRectMake(0, 63, 100, 16);

            cell.scholarBirth.frame = CGRectMake(0, 83, 100, 16);

        }else{

            cell.round_cover.hidden = YES;


找了半天原因后来在cell类里加上如下的代码

- (void)awakeFromNib {

    self.scholarName.translatesAutoresizingMaskIntoConstraints = YES;

    self.scholarBirth.translatesAutoresizingMaskIntoConstraints = YES;

    self.imageView.translatesAutoresizingMaskIntoConstraints = YES;

}

查资料分析下原因,有可能是因为cell内部的view本身有用到了autolayout,所以在storyboard运行初始化cell时,将cell内的view的translatesAutoresizingMaskIntoConstraints修改为了NO,所以没能立刻修改,滑动之后重用了修改后的cell,所以又变回来了


0 0
原创粉丝点击