【问题标题】:How to set corner radius for an element inside xib file如何为xib文件中的元素设置角半径
【发布时间】:2019-01-05 19:48:44
【问题描述】:

我不确定如何让 .xib 文件中的图像视图具有圆角边缘。我已将“layer.cornerRadius”放入用户定义的运行时属性中,但这不起作用。

【问题讨论】:

  • 您还需要屏蔽边界,例如layer.masksToBounds: true.

标签: swift xib


【解决方案1】:

你需要设置layer.maskToBounds = truelike:

【讨论】:

  • layer.masksToBounds 最好。
【解决方案2】:

我建议@IBDesignable 查看:

  • 为“designables”添加一个框架目标到你的项目中。选择“File” » “New” » “Target...” » “Cocoa Touch Framework”。

    命名该目标时,通常的约定是使用项目名称加上后缀“Kit”,例如如果您的应用是“Foo”,则调用框架目标“FooKit”。

  • 向该框架目标添加一个可设计的视图UIView 子类:

    import UIKit
    
    @IBDesignable
    class RoundedCornerView: UIView {
    
        @IBInspectable
        var cornerRadius: CGFloat {
            set { layer.cornerRadius = newValue }
            get { return layer.cornerRadius     }
        }
    }
    

现在,当向 XIB 添加视图时,您可以将该视图的基类指定为 RoundedCornerView,然后您可以在 IB 中指定圆角半径:

【讨论】:

  • 离题但是,当您使用MyAppKit 文件组RoundedCornerView 时,我是否也应该将此组用于扩展名为IntString、..的文件.?
【解决方案3】:

确实,您需要设置“剪辑到边界”属性以使其工作,但最简单的方法不是通过 CoreGraphics 将其设置在关键路径中,而是使用属性选项卡中的剪辑到边界选项:

然后,您可以在 "Key Path" 中添加您的 layer.cornerRadius :

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2016-03-31
    相关资源
    最近更新 更多