我很好奇如何为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
}
}
Run Code Online (Sandbox Code Playgroud)
在故事板上,我将该特定按钮链接到新的UIButton类:
问题是当我运行模拟器时,它在debig控制台中给出了一个错误:
对于密钥aButton,此类不符合密钥值编码
我认为这个过程在指南中很简单,但是我错过了任何额外的步骤吗?请让我知道,谢谢!
作为参考,这里是我用作指南的Apple文档的链接.
编辑1 - 这是视图控制器的viewcontroller.swift的动作链接.我只需按住+从故事板拖动按钮到viewcontroller.swift.
@IBAction func a(sender: AnyObject) {
var alertView = UIAlertView();
alertView.addButtonWithTitle("Ok");
alertView.title = "title";
alertView.message = "message";
alertView.show();
}
Run Code Online (Sandbox Code Playgroud)
你的代码看起来不错,我认为这是一个连接错误.打开故事板文件,选择File's Owner(或视图控制器顶部的黄色圆圈),然后单击"连接检查器"(右上角的箭头,即尺寸检查器旁边的箭头),立即查看所有插座.寻找!表明缺少出口的s.
如果您正在创建自定义UIClasses,我建议您查看IBInspectables和IBDesignables,它们有很多关于它们的内容,并使您能够通过故事板进行相当多的操作,并且它不会更改您的代码.
一些文章:
IBInspectable/IBDesignable - NSHipster
创建在Interface Builder中呈现的自定义视图 - Apple
请享用 :)
| 归档时间: |
|
| 查看次数: |
15099 次 |
| 最近记录: |