谈一下自定义cell的问题
iOS中最常用的就是tableView了吧,一个完整的APP里面可是需要我们各种自定义cell的哦~,所以遇到问题也不奇怪了吧。
经常用xib自定义cell,所以总得试一下代码自定义吧,不然都不会代码写了。代码实现自定义cell时,那么cell中子控件的frame要怎么设置呢:
需要用** -(void) layoutSubviews** 来实现。
- (void)layoutSubviews {
UIView *view_cell = [[UIView alloc] initWithFrame:self.contentView.frame];
view_cell.backgroundColor = [UIColor redColor];
[self.contentView addSubview:view_cell];
}
而这个-(void) layoutSubviews方法在什么情况下会调用呢,当我们在某个类的内部调整子视图位置时,就会调用。
要是写在如下方法里:
-(instancetype)initWithStyle:reuseIdentifier:方法里,那么当你在tableView的代理方法中返回cell的高度时,并不会修改子控件的大小,本宝宝这样写的,就出现了这样的问题。
看到网上有说,init初始化方法是不会触发的,但是addSubViews时,会触发该方法。
如果其他小伙伴对我写的这篇文章有什么异议,请尽快联系我哦~ 方便我修改嘛
网友评论