ios - 实例成员 'layer' 不能用于类型 'CustomPrettyView'

标签 ios swift

import UIKit 
class CustomPrettyView: UIView { 
    override class func awakeFromNib() {
        layer.cornerRadius = 20 
    } 
}

为什么不起作用?

最佳答案

class func 声明类型级别方法。它们与 static func 类似,但 class func 方法可以被子类覆盖。

有两种可以覆盖的 func awakeFromNib 实现:

  • 其中之一是实例级方法
  • 另一种是类型级别方法。

只有实例级方法才能访问类的非静态成员,如层、掩码、supreview 等。在此处阅读有关类型级别方法的更多信息:https://docs.swift.org/swift-book/LanguageGuide/Methods.html

因此,通过删除 class 关键字,您将解决该问题:

    override func awakeFromNib() {
       super.awakeFromNib()
       // rest of code
     }

关于ios - 实例成员 'layer' 不能用于类型 'CustomPrettyView',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65550203/

相关文章:

ios - 当 UICollectionView 最初加载其数据时,我们如何获得可见的 Cell IndexPath

ios - 分组 UITableview 删除外部分隔线

ios - 将库添加到 IOS 应用程序会导致可怕的构建失败

ios - Swift Alamofire multipartFormData.appendBodyPart Bool?

ios - 应用程序委托(delegate)事件(例如: applicationWillTerminate) to my custom class

ios - NSInteger 计数 4 次?

iphone - 我真的需要 MainWindow.xib 文件吗?

ios - 如何在同类节点之间不发生碰撞

ios - 长按手势识别器干扰 UITableView 中的滚动

ios - 当我的应用程序通过 UITabBar 完成启动时,如何将加载的数据传递到 UITableView?