自定义UIButton类swift

时间:2016-03-18 21:28:56

标签: swift

我很想知道如何为UI元素创建一个自定义类(例如,一个按钮)?

我已经阅读了Apple开发文档,我按照说明操作,我想创建一个单独的UIButton类文件,并为故事板上的所有按钮链接该类文件。

这是单独的UIButton类代码(名为buttonz.swift的文件):

import UIKit

public class buttonz: UIButton {


    required public init?(coder aDecoder: NSCoder) {

        super.init(coder: aDecoder)

        self.layer.borderWidth = 1
        self.backgroundColor = UIColor.whiteColor()
        self.layer.borderColor = UIColor.blackColor().CGColor

    }

}

在故事板上,我将该特定按钮链接到新的UIButton类:

enter image description here

问题是当我运行模拟器时,它在debig控制台中给出了一个错误:

  

此类不是密钥值编码兼容的密钥aButton

我认为这个过程在指南中很简单,但是我错过了任何额外的步骤吗?请让我知道,谢谢!

供参考,以下是我用作指南的Apple文档的链接。

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson5.html

编辑1 - 这是视图控制器的viewcontroller.swift的动作链接。我只需按住+从故事板拖动按钮到viewcontroller.swift。

 @IBAction func a(sender: AnyObject) {
        var alertView = UIAlertView();
        alertView.addButtonWithTitle("Ok");
        alertView.title = "title";
        alertView.message = "message";
        alertView.show();
    }

1 个答案:

答案 0 :(得分:5)

您的代码看起来不错,我认为这是一个连接错误。 打开故事板文件,选择File's Owner(或视图控制器顶部的黄色圆圈),然后单击"连接检查器" (右上角的箭头,即尺寸检查员旁边的箭头),可以立即查看所有商店。查找表示缺少插座的!

如果您正在创建自定义UIC课程,我建议您查看IBInspectableIBDesignable,其中有很多关于它们的信息,并且您可以通过以下方式完成相关操作故事板,它并没有改变你的代码。

一些文章:

IBInspectable / IBDesignable - NSHipster

Creating a Custom View That Renders in Interface Builder - Apple

享受:)