【问题标题】:Make a fixed size UIView, like UISwitch (using IBDesignable)制作固定大小的 UIView,如 UISwitch(使用 IBDesignable)
【发布时间】:2015-02-18 20:25:55
【问题描述】:

当我使用this guide 创建在 XIB 中设计的视图时,可使用 UIView 子类上的 IBDesignable 属性从情节提要中重用,如何使其具有固定大小并调整大小行为是否与 UISwitch 之类的视图相匹配?

“调整大小行为”也是指在界面生成器中进行设计时。

【问题讨论】:

    标签: ios uiview resize ibdesignable


    【解决方案1】:

    您可以在 UIView 子类中覆盖 intrinsicContentSize()。 这样您就不需要在界面构建器中提供高度和宽度约束了。

    override var intrinsicContentSize: CGSize {
        return CGSizeMake(width: 100, height: 100)
    }
    

    如果您只想提供其中一个维度,可以使用UIView.noIntrinsicMetric 代替值。

    override var intrinsicContentSize: CGSize {
        return CGSizeMake(width: UIView.noIntrinsicMetric, height: 100)
    }
    

    【讨论】:

    • 顺便说一句:除非您在视图上设置位置约束,否则 IB 似乎无法正确呈现大小。起初这让我很不适应。
    • 仅供参考:在 Swift 3 中,Xcode 将签名显示为 override var intrinsicContentSize: CGSize { }
    猜你喜欢
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多