ios - 在转发类对象 'cornerRadius' 中找不到属性 'CALayer'

标签 ios cocoa-touch calayer

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

self.revealAnswerButton.layer.cornerRadius = 10;

在这个 VC 中,第一个 VC,我只导入了 #import <UIKit/UIKit.h>而不是 <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 会有这种不同的行为?

我试图找到根本原因,这是我找到的:
在我的第一个 VC 中 layer属性直接映射到 UIView 的 @property layer像这样:

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

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

CALayer class method layer

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

最佳答案

你必须导入你正在使用角半径的viewcontroller。 并使用以下 corener round

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

关于ios - 在转发类对象 'cornerRadius' 中找不到属性 'CALayer',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18285661/

相关文章:

ios - Swift 3 中的 UIPinchGestureRecognizer

objective-c - 在 NSString 中分隔数字以显示电话号码

iphone - 是否可以通过 iPhone SDK 的 API 搜索附近的餐馆和酒吧?

cocoa-touch - Xcode 4 中是否有键盘快捷键可以最大化/最小化输出窗口?

ios - CALayer autoresizingMask 不适用于 iOS SDK?

iphone - 解析 JSON 字典/数组

ios - Swift-Uicollectionview- Collection View 中间的中心单元格

ios - 调试EXC_BAD_ACCESS-Objective-C-Xcode 8.0

ios - 更改图层 Z 位置时 renderInContext 无法正常工作

ios - 在 iOS 中,alpha 为 0.5 的 shadowColor 和设置为 0.5 的 shadowOpacity 有区别吗?