iPhoneでuiviewまたはuiviewcontrollerなしで呼び出されるtouchesbeganメソッドは?
-
28-10-2019 - |
質問
AppDelegateクラスのみがある場所でアプリを作成しました。 uiviewまたはビューコントローラーを作成しません。ウィンドウにテキストフィールド、ラベル、ボタンを追加しました。
ユーザーがテキストボックスからタップしたら、キーボードを非表示にしたい。これは通常、メソッドTouchesbeganによって達成されます。この方法を実装するには、2つのことをする必要があります。
1つはヘッダーファイル(.h)に追加されます
もう1つは、Textfieldのデリゲートを設定することです。それは、textfield.delegate = self;
私はこれらの2つのことをしました。しかし、それでもTouchesbeganメソッドは呼び出されませんでした。
なんで?そのためにuiviewまたはuiviewcontrollerクラスが必要ですか?
前もって感謝します
解決
TouchesbeganはUIViewメソッドです。セットアップでそれを行いたい場合は、UIViewサブクラスを作成し、すべてのコントロールをそのコントロールに入れて、UiviewサブクラスにTouchesbeganを実装する必要があります。
他のヒント
UIWindow
のサブクラスです UIView
, 、だからあなたはそれらに接続することができます。しかし、これは非常に悪いデザインパターンです。アプリのデリゲートですべてを実行するのではなく、アプリケーションを変更するようにアプリケーションを変更することを検討してください。それ以外の場合、あなたはju審員をリギングして、アプリの代表者が決して設計されていないものになるようにしています。
所属していません StackOverflow