我在界面生成器中创建的自定义UITableViewCell中有一个UIButton,高度和宽度由Autolayout约束定义。在自定义UITableViewCell中使用Autolayout获取UIButton的大小
我需要在自动布局定义最终大小后获取UIButton的大小。
我曾尝试:
在我的自定义的UITableViewCell
- (void)layoutSubviews
{
[super layoutSubviews];
NSLog(@"%f", self.infoButton.bounds.size.width);
self.infoButton.layer.cornerRadius = self.infoButton.bounds.size.width/2;
self.infoButton.clipsToBounds = YES;
self.infoButton.layer.borderColor = [UIColor whiteColor].CGColor;
self.infoButton.layer.borderWidth = 4.0f;
}
的问题是,我有不同的价值观:
2015-06-30 03:01:47.578 MYPROJ[3596:34092] 48.000000
2015-06-30 03:01:47.581 MYPROJ[3596:34092] 48.000000
2015-06-30 03:01:47.583 MYPROJ[3596:34092] 48.000000
2015-06-30 03:01:47.585 MYPROJ[3596:34092] 56.000000
2015-06-30 03:01:47.586 MYPROJ[3596:34092] 56.000000
2015-06-30 03:01:47.586 MYPROJ[3596:34092] 56.000000
2015-06-30 03:01:53.482 MYPROJ[3596:34092] 48.000000
2015-06-30 03:01:53.484 MYPROJ[3596:34092] 56.000000
2015-06-30 03:01:54.939 MYPROJ[3596:34092] 56.000000
2015-06-30 03:02:04.161 MYPROJ[3596:34092] 56.000000
2015-06-30 03:02:05.115 MYPROJ[3596:34092] 56.000000
2015-06-30 03:02:05.957 MYPROJ[3596:34092] 56.000000
我也有尝试了代码insid Ë- (void)awakeFromNib
我都尝试self.infoButton.bounds.size.width
和self.infoButton.frame.size.width
,这让我自动布局前的静态宽度是在我的案件48.0 此外
恐怕把里面的代码- (void)layoutSubviews
的解决方案可能会影响性能,因为它会被称为用户每次滚动和应用层转换的一切,有没有更好的解决方案?
现在更新了答案。 –
我已经尝试过'self.infoButton.frame.size.width' bt在自动布局之前它总是给出尺寸 – Aladin
您能提供用于单元格按钮的水平约束吗?这将有所帮助.. – Tejvansh