在前向类对象'CALayer'中找不到属性'cornerRadius'

时间:2013-08-17 05:59:08

标签: ios cocoa-touch calayer

我已经完成了与此错误相关的所有答案(几乎所有答案都显示this solution)但是我的问题似乎有所不同。
我希望有一个圆角矩形UIButton,特殊图像作为背景。我设法在我的一个视图控制器中成功完成,让我们将此VC称为first VC,方法是使用:

self.revealAnswerButton.layer.cornerRadius = 10;

在这个VC中,首先是VC,我只导入了#import <UIKit/UIKit.h>而不是<QuartzCore/QuartzCore.h>。这很好用。我想这是因为:

Q1。 UIView类有@property layer我在上面的代码中使用它,所以它工作正常,甚至没有导入Quartz Framework。我的假设是对的吗?

让我们继续前进:在我的另一个VC中,让我们将其称为第二个VC,在同一个StoryBoard中,相同的代码(self.startButton.layer.cornerRadius)不起作用。它抛出错误:
Property 'cornerRadius' cannot be found in forward class object 'CALayer'

Q2。为什么在不同的VC中这种不同的行为?

我试图找到根本原因,这就是我发现的:
在我的第一个VC layer属性中直接映射到UIView的@property layer,如下所示:

Property 'cornerRadius' cannot be found in forward class object 'CALayer'

但是在我的第二个VC中layer正在路由+layer这类CALayer类方法:

CALayer class method layer

我不知道从哪里开始:(你能帮帮我吗?非常感谢您的时间。如果需要任何其他信息,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:1)

你必须导入到使用角半径的viewcontroller。 并使核心工具使用以下

self.revealAnswerButton.layer.cornerRadius = 5.0f;
self.revealAnswerButton.layer.masksToBounds = YES;