如何为xib文件中的元素设置角半径

Posted

技术标签:

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

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

【问题讨论】:

您还需要屏蔽边界,例如layer.masksToBounds: true. 【参考方案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 :

【讨论】:

以上是关于如何为xib文件中的元素设置角半径的主要内容,如果未能解决你的问题,请参考以下文章

如何为 TableView 的 TableViewCell 设置填充/边距和角半径?

如何为一些子成员设置卡片视图的角半径?

如何为Simple Drawer Android的所有角落设置半径

仅将角半径设置为 UIView/UIButton 的特定侧

如何为通过 SwiftUI 中的自定义结构传递的 @State 值设置动画

如何为使用 xib 用户界面创建的 TableViewController 设置静态表视图