IBのカスタムUIViewにユーザー定義のランタイム属性を作成しました。興味深いのは、touchesBegan:withEvent:メソッドではアクセスできますが、initWithCoderではアクセスできないことです。理由を知っていますか?
質問する
2330 次
2 に答える
11
initWithCode:
ビューを使用中に処理するのではなく、ビューを設定するときに値にアクセスする必要がある場合awakeFromNib
于 2012-11-01T01:45:55.070 に答える
5
これは、IBからのビューが。の後にロードを終了したためinitWithCoder
です。以下は、プロセスを理解するのに役立ちます。について説明されてUIViewControllers
いますが、概念は同じです(ViewControllerプログラミングガイドから):
ストーリーボードでViewControllerを作成すると、InterfaceBuilderで構成した属性がアーカイブにシリアル化されます。後で、View Controllerがインスタンス化されると、このアーカイブがメモリにロードされて処理されます。結果は、属性がInterfaceBuilderで設定したものと一致するオブジェクトのセットです。アーカイブは、View ControllerのinitWithCoder:メソッドを呼び出すことによってロードされます。
于 2012-10-31T08:32:24.313 に答える