6

などの UIKit テキスト入力コンポーネントには、カスタム キーボードを追加するプロパティがありますUITextView。これに関連して 2 つの質問があります。UITextFieldinputView

  1. キーボードが現在表示されていて、プロパティが新しい入力ビューに設定されている場合、何も起こりません。ファースト レスポンダー ステータスを辞退して回復すると、入力が更新され、新しいビューが表示されます。これが最善の方法ですか?もしそうなら、それは私のより大きな質問に答えるかもしれません:

  2. 2 つの入力ビュー間の遷移をアニメーション化することはできますか?

4

2 に答える 2

1

UIResponder ドキュメントから:

ユーザーからの入力を収集するためにカスタム ビューを必要とするレスポンダー オブジェクトは、このプロパティを readwrite として再宣言し、それを使用してカスタム入力ビューを管理する必要があります。その後、受信者がファーストレスポンダになると、レスポンダ インフラストラクチャは指定された入力ビューを自動的に表示します。同様に、ビューがファーストレスポンダー ステータスを辞任すると、レスポンダー インフラストラクチャは指定されたビューを自動的に閉じます。

残念ながら、1の答えはイエスで、2の答えはノーです。

于 2013-02-28T09:55:01.833 に答える
0
  1. 実際には、それをきれいに行う方法があります: UIResponderiOS reloadInputViews3.2 から利用可能です!

  2. 追加の作業でアニメーション化できると思います:

    • UIWindowLevelキーボード ウィンドウよりも高いクリアな背景ウィンドウを作成します。
    • そこにカスタム キーボードを追加し、そのフレームを所定の位置にアニメーション化します。
    • 次に、それをテキスト入力として設定しinputView、最初の応答者を更新します。

カスタム キーボードは、その親ビューをカスタム ウィンドウからキーボード ビューに変更しますが、ユーザーが気付かないことを願っています ;)

于 2014-02-28T01:29:52.117 に答える