サブビューの 1 つからのタッチ イベントを処理する UIViewController サブクラスを取得するのに問題があります。これは階層です:
UIViewController
|
MYGeneric_UIVC
|
MyAppSpecific_UIVC----- UIView[view_all]
|
+-- UIView[view_top] (top section of screen)
+-- UIControl subclass[view_middle] (middle section)
+-- UIView[view_bottom] (bottom section)
タッチ イベントは view_middle (UIControl サブクラス) で動作していますが、view_top と view_bottom の UILabel テキストを変更して view_middle で起こっていることに反応するには、(メッセージを送信するのではなく) MyAppSpecific_UIVC でイベントを処理する必要があることに気付きました。他の人が提案しているポインターとデリゲートの使用については、少し面倒です)。
そこで、view_middle から 4 つのタッチ イベント処理メソッドを削除し、MyAppSpecific_UIVC に追加しました。私が考えていることは、view_middle がイベントを処理しない場合、階層を上って再試行する必要があるということです (view_all、次に MyAppSpecific_UIVC)。
しかし、MyAppSpecific_UIVC はタッチ イベントを取得しません。また、view_all も試しましたが、どちらも機能しませんでした。
おそらく、nib ファイルのリンクが間違っているのではないでしょうか? ファイルの所有者は MyAppSpecific_UIVC です。ファイルの所有者の「ビュー」は「view_all」を指しています。
view_middle (UIControl) の「Sent Events」は IB の何かを指している必要がありますか?
view_all でユーザー インタラクションを有効にする必要がありますか?
次を使用してnibファイルをロードしています:
nibObjects = [[NSBundle mainBundle] loadNibNamed:resource owner:self options:nil];
提案はありますか?