如何为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 = true
like:
【讨论】:
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
时,我是否也应该将此组用于扩展名为Int
、String
、..的文件.?【参考方案3】:
确实,您需要设置“剪辑到边界”属性以使其工作,但最简单的方法不是通过 CoreGraphics 将其设置在关键路径中,而是使用属性选项卡中的剪辑到边界选项:
然后,您可以在 "Key Path" 中添加您的 layer.cornerRadius :
【讨论】:
以上是关于如何为xib文件中的元素设置角半径的主要内容,如果未能解决你的问题,请参考以下文章
如何为 TableView 的 TableViewCell 设置填充/边距和角半径?
如何为Simple Drawer Android的所有角落设置半径