iphone UITextViewは、手動でタッチをregisterring
-
12-09-2019 - |
質問
私は現在、このように構成されたアプリに取り組んでいます:
私たちは、アプリケーションのすべてのタッチイベントを処理MainViewControllerを呼び出しますビューコントローラを持っています。 MainViewControllerは、インスタンス変数、canvasViewと呼ばれるビューとして持っています。 canvasViewがhiddenTextView呼ばUITextViewとして持っています。
他の不可視のビューとをTheresのUITextViewがタッチを登録する最初のではないので、そのような
どのように私は、この構成でタッチを登録するUITextViewを得るのですか?具体的には(実際には日本語の漢字の選択のために、私は同様の機構を想定)autoCorectionボックスから選択を行います。
私が試してみた:
[canvasView.hiddenTextView touchesBegan:withEventに触れる:イベント
MainViewControllerのtouchesbegan方法から。私は、touchesBeganのためにこれを行って移動し、終了したしました。
私はそれが実際に私が試した50かそこらの実行のうちの1のために働いていたと思うが、私は変更のか分かりません。
私はこの仕事を得ることができる方法上の任意のアイデア?
解決
[canvasView.hiddenTextView becomeFirstResponder];
おそらく、あなたがやりたいだろう。
iPhone上のレスポンダチェーンは少しトリッキーなものです。私はそれがどの触れ、そこからの入力を受け取るべき制御するよう、それは完全に明確なのです任意のインスタンスになるように、コントロールの重複を避けるために、通常は簡単です見つけます。
あなたがコントロールの多くを重ね、そしてしばしばものは非表示または表示されている間のスイッチングしている場合は、、それはあなただけUIViewController
の複数のサブクラスを実装したい場合があります良い兆候だ、とアウトにスワップそれらの代わりに切り替えると、コントロール。別のオプションは、UIView
のカスタムサブクラスを作成し、inとoutの代わりに、それらを交換することである - 。それによって私が意味する、実際にサブビュー(それを隠していない)、そして新しいものを追加することから、古いものを削除する
もちろん、いくつかの時間があります。
私はそれが役に立てば幸い。参考:<のhref = "http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIResponder_Class/Reference/Reference.html#//apple_ref/occ/cl/UIResponder" のrel = "nofollowをnoreferrer 「> AppleのUIResponder
ドキュメントはを。 (任意UIViewController
又はUIView
はUIResponder
のサブクラスであることに留意されたい。)