私は3つのView Controllerを備えた3つのクラスを持っています。そして、First View のサブビューとして Second ビューを追加しています。2番目のビューにはボタンがあり、そのボタンをクリックすると、2番目のビューのメソッドが呼び出されます。しかし、そのボタンをクリックするとアプリケーションがクラッシュします。サブビューでイベントを実行する方法を教えてください。
2 に答える
これを覚えておいてください:3つのネストされたビュー、No.1にはNO.2が含まれ、NO.2にはNO.3が含まれます。画面をタッチすると、実際にはNo.1が最初のレスポンダーになります。NO.1のuserInteractionEnabled == YESの場合、NO.2レスポンダーなどを取得できます。通常、ビューのuserInteractionEnabledはYESですが、UIImageViewのようにそうでないものもあります...
次のように2番目のビューを追加する必要があります。2番目のビューを表示するuiviewIBOutletを追加する必要があります。次に、それをプロパティにして、以下のようにsecondViewのサブビューを追加します。
FirstView.h
@class secondView; {secondView * secondViewObj; }
@property(nonautomic、retain)secondView * secondViewObj;
実装ファイルFirstview.m@synthesizesecondViewObj;
次に、viewDidLoadメソッドで、2番目のビューを表示するfirstViewにuiviewアウトレットmysecondsubViewがあります。
self.mysecondSubView = [[secondView alloc] initWithNibName @ "secondView" nibBundle:nil];