无法将自定义 IBDesignable 类链接到情节提要上的 UIButton

Posted

技术标签:

【中文标题】无法将自定义 IBDesignable 类链接到情节提要上的 UIButton【英文标题】:Cannot link custom IBDesignable class to UIButton on storyboard 【发布时间】:2017-07-26 08:28:05 【问题描述】:

如何将 IBDesignable 自定义类连接到 UIButton?

代码

import UIKit

@IBDesignable class MyButton: UIView 
    @IBInspectable var borderColor: UIColor = UIColor.clear 
        didSet 
            layer.borderColor = borderColor.cgColor
        
    

    @IBInspectable var borderWidth: CGFloat = 0 
        didSet 
            layer.borderWidth = borderWidth
        
    

    @IBInspectable var cornerRadius: CGFloat = 0 
        didSet 
            layer.cornerRadius = cornerRadius
        
    

文件名是MyButton.swift

它没有将 MyButton 显示为类?我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您可能需要 MyButton 继承自 UIButton,而不是 UIView。

【讨论】:

【参考方案2】:

您只能将自定义类链接到相同类型的对象,或者它继承自的类型。而不是

@IBDesignable class MyButton: UIView 

你可能想要

@IBDesignable class MyButton: UIButton 

或将其链接到 UIView 对象

【讨论】:

我已经改成了 UIButton 但是颜色的边框没有变?我的课正确吗? 没关系,我只是改变宽度。 @sinusGob 图层属性不能直接在 UIButton 上工作,通常我会在它后面设置一个 UIView 并在需要阴影或按钮边框或类似的东西时更改它

以上是关于无法将自定义 IBDesignable 类链接到情节提要上的 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

将自定义类添加到愿望清单顶部链接

Swift 无法从 @IBDesignable 类设置视图的高度

@IBDesignable 无法使用 Swift 3 呈现类实例并崩溃代理

无法实现 operator==() 将自定义类对象与 QString 进行比较

xcode Interface Builder 未更新 IBDesignable 类

如何将自定义类分配给 TableViewController