我在自定义UICell中有一个UIImage。 我想在定制Cell& amp;时获得UIImage的框架。 UIImage确实创造了。
#import "SliderSignInCell.h"
@implementation SliderSignInCell
- (void)layoutSubviews {
NSLog(@"%@",NSStringFromCGRect(self.userImage.frame));
// self.userImage.layer.borderWidth = 3.0f;
// self.userImage.layer.borderColor = [UIColor blackColor].CGColor;
}
在iOS8.2中,布局完成后,我可以在layoutSubviews中获取帧。 (layoutSubviews运行2次)
但是相同的代码......
在iOS8.3中,我无法在layoutSubviews中获得框架 (layoutSubviews运行1次,当查看init时)
日志:
在iOS8.2中
2015-05-20 10:51:20.198 EarlyBee [11989:1914472] {{0,0},{240,128}}。
2015-05-20 10:51:20.198 EarlyBee [11989:1914472] {{0,0},{70,70}}
在iOS8.3中
2015-05-20 10:51:20.198 EarlyBee [11989:1914472] {{0,0},{240,128}}
答案 0 :(得分:1)
除了一个问题之外看不到任何错误:在[super layoutSubviews]
中执行任何其他操作之前,您需要致电-layoutSubviews
:
- (void)layoutSubviews
{
[super layoutSubviews];
...
}
答案 1 :(得分:0)
-(void)drawRect:(CGRect)rect{
NSLog(@"%@",NSStringFromCGRect(self.userImage.frame));
self.userImage.layer.cornerRadius = self.userImage.frame.size.width / 2;
self.userImage.clipsToBounds = YES;
}
我的解决方案。