我在界面生成器中創建的自定義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