1

我已经浏览了与此错误相关的所有答案(几乎所有答案都建议使用此解决方案),但是我的问题似乎有所不同。
我想要一个带有特定图像作为背景的圆角矩形 UIButton。我设法在我的一个视图控制器中成功地做到了这一点,让我们将此 VC 称为first VC,通过使用:

self.revealAnswerButton.layer.cornerRadius = 10;

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

Q1。UIView 类具有@property layer我在上面的代码中使用的功能,因此它甚至可以在不导入Quartz框架的情况下正常工作。我的这个假设对吗?

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

Q2。为什么在不同的 VC 中会有不同的行为?

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

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

但在我的第二个 VClayer中,路由到这样的+layer类方法CALayer

CALayer类方法层

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

4

1 回答 1

1

您必须导入使用角半径的视图控制器。并用于制作核心圆使用以下

self.revealAnswerButton.layer.cornerRadius = 5.0f;
self.revealAnswerButton.layer.masksToBounds = YES;
于 2013-08-17T06:25:50.627 回答