我正在尝试在位于uitableviewcell内的UIButton上做一些CALayer的东西。 我已导入但CALayer操作不起作用。 当我将它移动到cellForRowAtIndexPath方法时,它工作正常。 我确实希望在单元格本身的类中进行一次更改,而不是在表创建表中进行更改。 你有什么想法吗?
顺便说一下,我确实在init上看到了NSLog文本(所以我知道它进入了块)。
谢谢!
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
NSLog(@"STARTED coder init in testResultCell");
[[self.bubbleMore layer] setMasksToBounds:YES];
[[self.bubbleMore layer] setBorderWidth:3.0f];
[[self.bubbleMore layer] setBorderColor:[UIColor blueColor].CGColor];
[[self.bubbleMore layer] setCornerRadius:20.0f];
}
return self;
}
答案 0 :(得分:2)
将代码移至awakeWithNib
。您的商店尚未在initWithCoder
中关联。来自Apple's documentation:
当一个对象收到一个awakeFromNib消息时,它保证设置所有的插座实例变量。
答案 1 :(得分:1)
在调用viewDidLoad
之前,用户界面对象不可用,实际上会从xib
或Storyboard
加载控件。请将您的代码移至viewDidLoad
,它应该可以正常工作。
如果您添加断点并查看self.bubbleMore
,则nil
函数中将为initWithCode
。