問題タブ [uitextinput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS キーボードでマークされたテキストを処理する
ドキュメントによると、
多段階テキスト入力の一部であるマーク付きテキストは、ユーザーがまだ確認していない暫定的に挿入されたテキストを表します。独特のスタイルに仕上がっています。マークされたテキストの範囲には、文字の範囲またはキャレットである可能性のある選択されたテキストの範囲が常に含まれます。
また、 キーボードの管理の章では、図 5-2 に、マークされたテキストが何であるかを示します。
4 番目と 6 番目の画像では、キーボードの上部バーに「修」、「修改」、「修身」などのマーク付きテキストが表示されます。
私が混乱しているのは HOWTO です:
- マークされたテキストをユーザーがタップしたことを検出します。選択したテキストを置き換えるか、マークされたテキストを挿入するだけです。
- バーにカスタム テキストを表示します。たとえば、
[textView showMarkedText:@"hello" atIndex:0]
.
ありがとう。
ios - IOS: UITextInput のトークナイザーが呼び出されない
私は UITextInput の実装に小さな問題が 1 つあります。これは、AutoCapitalization を適切に使用する能力を台無しにしているようです。
tokenizer プロパティは (becomeFirstResponder を呼び出した後でも) 呼び出されないため、カスタム トークナイザーがインスタンス化または使用されることはありません。
なぜこれが起こるのか誰にも分かりますか?
役立つ詳細情報: UITextInput の実装は、UICollectionView のサブクラスにあります。
ios - UITextInput:selectedTextRangeとmarkedTextRange?
わかりましたので、Apple のUITextInput
プロトコルには 2 つのUITextRange
プロパティが必要selectedTextRange
でmarkedTextRange
あり、ドキュメントには、それはユーザー yatta yatta による未確認のテキスト範囲であるselectedTextRange
サブ範囲であると記載されています。markedTextRange
それでも、2 つのテキスト範囲を異なる方法で実装する方法に関して、いくつかのことが明確になりません。と の違いを視覚的に説明してもらえselectedTextRange
ますmarkedTextRange
か? length
ofが'sで点滅するキャレットを示していることselectedTextRange
を知っています。しかし、「マークされたテキスト」とは一体何ですか?? iOS のテキスト ビューについては、次のようなものしか見たことがありません。0
selectedTextRange
location
現在の を表していると思いselectedTextRange
ます。どのようにmarkedTextRange
見えますか?それとも、基本的にはまったく同じものですか?私はとても混乱しています:(事前に助けてくれてありがとう!UITextInput
プロトコルの実装方法を理解する上で、ドキュメント自体は役に立たないことが証明されています。
編集
実装markedTextRange
は、ビュー内の一部のテキストが「マーク可能」であるが「読み取り専用」である可能性がありselectedTextRange
、「マークされたテキスト」のサブ範囲を示しているという事実と関係markedTextRange
がありますか?
ios - UITextView が MarkedTextStyle を保存しない (UITextInput プロトコル)
UITextView でテキストをマークしていますが、何らかの理由で、setMarkedTextStyle で指定したものを受け入れることを拒否しています。-markedTextStyle は常に nil を返し、マークされたテキストは常に同じように表示されます (青色の背景でテキストの色が維持されます)。
テキストビューを作成するとき、テキストをマークする直前と直後の両方でこれを試しました。ただし、デフォルトのスタイルを維持し、スタイルに対して nil を返します。
ios - shouldChangeTextInRange:replacementText: 呼び出されていませんか?
日本語と中国語のキーボードでマルチステージ入力を処理するためのCoreText
実装を使用して作成したカスタム テキスト ビューがあります。UITextInput
を使用してテキストビューに入力できる文字数を制限しようとしていshouldChangeTextInRange:replacementText:
ますが、キーボードのキーが押されたときにのみ呼び出され、キーボードの上のボタンが提供されたときに呼び出されないことに気付きました置換の提案がプッシュされます (以下の例)。
これがなぜなのか、また、キーボードの上の提案が押されたときに呼び出される同様のメソッドが実装できるかどうかを知っている人はいますか (マークされたテキストとして設定されないようにブロックできます)。
ios - UITextInputMode 名?
primaryLanguage プロパティを介して UIInputModes の言語コードを取得できることはわかっています。
しかし、入力モードの実際の名前を取得するにはどうすればよいですか? 言い換えれば、「en-US」を主要言語とする複数のキーボードが存在する可能性があります。
ありがとう。
ios - Swift のカスタム入力ビュー
私は何時間も費やして、カスタムを作成/作成inputView
する方法を見つけようとしました。押されたときにカスタムをロードしてテキストを挿入する必要があるTextInputs
(スクラブルボードを考えてください)グリッドがあります。inputView
カスタムの を含む.xibファイルを作成しました。を作成して表示することはできましたが、実際にvalue/textを更新することはできませんでした。UI elements
inputView
CustomInputViewController
inputView
TextInput
Apple のドキュメントは、これを機能させる方法については軽視されており、私が見た多くのチュートリアルでは Obj-C を使用していました (これは、現在は迅速に実行できないと思われる小さなことのために変換できませんでした)。 .
customInputView
複数textInputs
(デリゲート チェーン、コントローラー、.xibs、ビューなど)を作成するために実装する必要がある包括的なアーキテクチャと必要なコードは何ですか?