我在MySample.xib
中創建了自定義UIView。我已將類MyView
添加到xib的File Owner
。以編程方式從xib加載自定義UIView
MyView.swift
class MyView: UIView {
@IBOutlet var view: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
func setup() {
NSBundle.mainBundle().loadNibNamed("MySample", owner: self, options: nil)
self.addSubview(self.view)
}
}
我現在載入這個MyView
從MyController
文件是這樣的:
MyController.swift
class MyController: UIViewController {
init() {
super.init(nibName: nil, bundle: nil)
view.addSubview(MyView())
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我們顯示這種觀點,我正在使用以下代碼從另一個控制器' s UIButton
:
presentViewController(MyController(), animated: true, completion: nil)
這會在屏幕上顯示視圖。但問題是,它不接受任何用戶交互。在我的自定義視圖中,我有一個UITableView,它顯示數據,但由於缺乏用戶交互,它不會滾動或輕敲。
任何想法我做錯了什麼?
您是否使用了視圖層次結構檢查器來確保自定義視圖之上沒有任何內容? – EmilioPelaez
@EmilioPelaez是的,我已經檢查過它,沒有什麼是最重要的。 – codelearner
如果你在'MyView'上重寫'touchesBegan ...',會發生什麼?它會被叫嗎? 'userInteractionEnabled'是真的嗎? – EmilioPelaez