我在自定义UIImage中有一个UICell。在创建自定义单元格和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次)
但同样的密码..。
在In 8.3中,我无法在layoutSubviews中获得帧。
(当查看init时,layoutSubviews运行1次)
日志:
在iOS8.2中
2015-05-20 10:51:20.198早期Bee11989:1914472 {{0,0},{240,128}} 2015-05-20 10:51:20.198早期甜菜11989:1914472 {{0,0},{70,70}
在In 8.3中
2015-05-20 10:51:20.198早期Bee11989:1914472 {{0,0},{240,128}
发布于 2015-05-22 03:44:30
除了一个问题:您需要调用[super layoutSubviews],然后才能在-layoutSubviews中执行其他任何操作。
- (void)layoutSubviews
{
[super layoutSubviews];
...
}发布于 2015-05-20 09:56:02
-(void)drawRect:(CGRect)rect{
NSLog(@"%@",NSStringFromCGRect(self.userImage.frame));
self.userImage.layer.cornerRadius = self.userImage.frame.size.width / 2;
self.userImage.clipsToBounds = YES;
}我的解决方案。
https://stackoverflow.com/questions/30339648
复制相似问题