カスタムUIViewをMySample.xib
に作成しました。 xibのFile Owner
にクラスMyView
を追加しました。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