私はUITextFieldを含むさまざまな要素の画面を持っています。画面上にコーチのマークを表示したいのです(私はInstructionsライブラリを使用しています)。しかし、コーチマークが表示されているときに要素とのやり取りをフリーズする必要があります(たとえば、ユーザーがテキストフィールドに項目を入力することはできません)。キーボードをiOSに隠さずに無効にするにはどうすればよいですか?
私の問題はキーボードです(この画面には常に表示されます)。テキストフィールドのisEnabledプロパティをfalseに設定するか、isUserInteractionEnabled = falseを設定すると、フィールドは最初のレスポンダを辞退し、キーボードは消えます。この画面では不自然です。ただし、textField:shouldChangeCharactersInの範囲:委譲メソッドを使用してfalseを返すと、キーボードは表示されたままになりますが、有効になります。コーチのマークが表示されたら、ユーザーはキーボードをタップすることができます。これはテキストフィールドには何の影響もありませんが、それはまだ変わって迷惑です。
キーボードを一時的に保持しますが、無効にしておくにはどうすればいいですか?私はthisを見ましたが、それは私がAppleが受け入れると思う解決策を提供しません。
ありがとう、
ヤリフ。
それはあなたがちょうどあなたが助けのものを示している間に、メインウィンドウ(AppDelegateのウィンドウオブジェクト)のuserInteractionを無効にし、あなたが –
するTry self.view.endEditing(true)を削除します真= textField.resignFirstResponderをお試しくださいJignesh - 全体のポイントはキーボードを隠さないことでした。 Rajeshkumar:これはまた、キーボードを却下し、テキストフィールドがフォーカスを失い、コーチマークが解除されたときにユーザーがそれを再度タップしなければならないという欠点が追加されています。マイク:これは最高の、きれいな答えのようだった。しかし残念なことに、これはresignFirstResponderを呼び出すようにも見えますし、最悪の場合でも、コーチのマーク自体が応答しなくなり、ユーザーはそれらを却下することはできません。 –
キーボード –