如何在 UIView 和 UIImageView 中重用相同的 IBDesignable 代码
Posted
技术标签:
【中文标题】如何在 UIView 和 UIImageView 中重用相同的 IBDesignable 代码【英文标题】:How to reuse the same IBDesignable code in UIView and UIImageView 【发布时间】:2018-01-11 09:37:03 【问题描述】:我有一个 IBDesignable 类用于制作边界线和圆角半径。 问题是我必须为 UIView 编写单独的类和 图像视图。有没有一个简单的解决方案。提前致谢。
@IBDesignable
class View: UIView
//MARK:- Corner Radius
@IBInspectable
var cornerRadius : CGFloat = 0
didSet
self.layer.masksToBounds = true
self.layer.cornerRadius = cornerRadius
图像视图
@IBDesignable
class ImageView: UIImageView
//MARK:- Corner Radius
@IBInspectable
var cornerRadius : CGFloat = 0
didSet
self.layer.masksToBounds = true
self.layer.cornerRadius = cornerRadius
【问题讨论】:
【参考方案1】:像下面这样创建扩展
extension UIView
@IBInspectable var cornerRadius: CGFloat
get
return layer.cornerRadius;
set(value)
layer.cornerRadius = value;
var rounded: Bool
return layer.cornerRadius > 0.0;
【讨论】:
谢谢哥们,我想在 UIView 和 UIImageview 中复用代码以上是关于如何在 UIView 和 UIImageView 中重用相同的 IBDesignable 代码的主要内容,如果未能解决你的问题,请参考以下文章
如何在ios目标c的UIImageView中添加UIView
如何将 UIImageView 添加到 UIView(不是 UIViewController)?
如何在 UIView 中有一个 UIImageView 并应用 NSLayoutConstraint?
如何以编程方式将 UILabel 和 UiImageView 添加到表视图单元格内的 UIView?