如何使用 Swift 3 在 UIView 中覆盖 requiresConstraintBasedLayout?

Posted

技术标签:

【中文标题】如何使用 Swift 3 在 UIView 中覆盖 requiresConstraintBasedLayout?【英文标题】:How to override requiresConstraintBasedLayout in UIView using Swift 3? 【发布时间】:2017-03-01 11:06:17 【问题描述】:

UIView 文档中,声明如果需要约束才能工作,则必须覆盖requiresConstraintBasedLayout 以在自定义视图中返回true

你如何使用 Swift 3 做到这一点?

【问题讨论】:

【参考方案1】:

使用以下语法覆盖 getter:

override open class var requiresConstraintBasedLayout: Bool 
    get 
        return true
    

【讨论】:

这可以通过省略 get 子句并简单地返回 true 来缩短。【参考方案2】:

要覆盖requiresConstraintBasedLayout getter,您可以简单地使用:

override open class var requiresConstraintBasedLayout: Bool 
    return true

【讨论】:

以上是关于如何使用 Swift 3 在 UIView 中覆盖 requiresConstraintBasedLayout?的主要内容,如果未能解决你的问题,请参考以下文章

如何覆盖子类的 swift 协议函数(例如 UIView 中的 UILabel)

iOS Swift 3 - 面板点击后删除覆盖 UIView

Swift 3:覆盖成为FirstResponder时警告“未使用的调用结果”

在 Swift 3.1 中为 UIView 子类设置默认外观而不覆盖 initialize()

Swift uiview 在 uitable 之上

如何在 Swift 中以编程方式从 UIView 中删除安全区域?