アプリケーションでカスタマイズされたキーボードを使用しようとしていますが、特定のUITextFieldに制限しようとすると問題が発生します。UITextFieldがUIKeyboardWillShowNotificationの原因を調べる方法は?
私のコードはthis Xcode project(元はthis blogにあります)に基づいています。そのコードはUIKeyboardTypeNumberPadキーボードビューにカスタムUIButton(小数点を表す)を追加します。これは、UIKeyboardWillShowNotificationを購読し、キーボードが現れたときに変更することで行います。
Xcodeプロジェクトは素晴らしいですが、別のUITextFieldを追加すると、そのテキストフィールドに完全に異なるキーボードタイプが選択されているにもかかわらず、カスタムキーがそのテキストフィールドのキーボードに入れられます。
私は1つの特定のUITextFieldからUIKeyboardWillShowNotification通知を参照してください、それが動作するようには思えないだけに登録しようとした:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:exampleViewController.textField];
NSNotificationがkeyboardWillShowに渡された内側に、私はまた、オブジェクトを検査しようとしましたが、残念ながら、それはキーボードを意味し、キーボードを表示するUIコントロールではありません。
2009-10-21 19:50:22.205 Example[6302:207] NSConcreteNotification 0x321ebd0 {name = UIKeyboardWillShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = 0.300000011920929;
UIKeyboardBoundsUserInfoKey = NSRect: {{0, 0}, {320, 216}};
UIKeyboardCenterBeginUserInfoKey = NSPoint: {160, 588};
UIKeyboardCenterEndUserInfoKey = NSPoint: {160, 372};
}}
私はaddObserverインタフェースを誤解だろうか?確かに、特定のUIコントロールからの通知を購読する方法が必要ですか?
これを達成する方法について他に誰かの提案がありましたか?
のようにそれを使用することができます。 残念ながら、「カスタムキーボード」コードは表示されるキーボードを変更しますが、どのUITextFieldがUIKeyboardWillShowNotification通知を発生させたかを区別する方法がわかりません。私はポストを更新してもう少し明確にしました。 –