我可能正在做一些非常愚蠢的事情,但我似乎无法使用Interface Builder将IBOutlet变量连接到自定义视图,但仅限于Swift.
我创建了一个名为MyView的类,它从UIView扩展而来.在我的控制器中,我有一个MyView变量(声明为@IBOutlet var newView:MyView).我进入IB并将UIView拖到窗口上并给它一类MyView.
每当我在Objective C中完成类似操作时,我就可以单击应用程序窗口顶部的View Controller按钮,选择变量并将其向下拖动到控件以将两者链接在一起.当我在Swift中尝试它时,它拒绝承认视图在那里.
如果我将控制器中变量的类更改为UIView,它可以正常工作.但不是我的自定义视图.
还有其他人遇到过这个问题吗?它是一个功能,还是只是我的愚蠢?
控制器代码
import UIKit
class ViewController: UIViewController {
@IBOutlet var newView:MyView
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Run Code Online (Sandbox Code Playgroud)
视图代码
import UIKit
class MyView: UIView {
init(frame: CGRect) {
super.init(frame: frame)
// Initialization code
}
/*
// Only override drawRect: if you perform custom …Run Code Online (Sandbox Code Playgroud)