問題タブ [nstextstorage]

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.

0 投票する
3 に答える
1997 参照

macos - NSTextStorage を変更すると、挿入ポイントが行末に移動する

デリゲートとして機能するNSTextViewサブクラスがあります。NSTextStorage私は2つのことをしようとしています:

  1. いくつかの方法でテキストを強調表示する
  2. テキストを評価し、回答をテキストビューに追加します。

私はこれを 2 つの異なるメソッドで実行しています。どちらも- (void)textStorageWillProcessEditing:(NSNotification *)notificationデリゲート コールバックによって呼び出されます。

構文の強調表示は問題なく実行できますが、回答を追加すると、挿入ポイントが行末にジャンプしてしまい、その理由がよくわかりません。私の評価方法は次のようになります。

そうすることで結果がうまく追加されますが、問題は、前述のように、挿入ポイントが最後にジャンプすることです。

私はもう試した:

  1. 上記の呼び出しを と でラップし[textStorage beginEditing]ます-endEditing
  2. テキストストレージを変更する前に選択範囲(つまり、挿入ポイント)を保存して、後でリセットできるようにしますが、サイコロはありません。

私はこれを正しく行っていますか?私はこれを最もハックな方法でやろうとしていますが、これが私の解析/強調表示を行うのに理想的な場所であるかどうかもわかりません. ドキュメントは私にこれを信じさせますが、おそらくそれは間違っています。

0 投票する
1 に答える
3588 参照

cocoa - NSTextView で NSTextStorage を置き換える適切な方法は?

テキストビューアアプリを作成しています。現在、非常に頻繁で正確なライン処理能力が必要なので、クラスをサブクラス化したいと考えていNSTextStorageます。しかし、新しいテキスト ストレージを に設定する方法が見つかりませんでしたNSTextView。私が見つけた唯一の方法は

方法。しかし、これが私が探していたものかどうかはわかりません。NSTextView ではなく、リンクされた NSLayoutManagers のテキスト ストレージを置き換えるだけのように見えるためです。

NSTextView をサブクラス化して-textStorageメソッドをオーバーライドすることも考えましたが、クラスがサブクラス化するように設計されていないと、未定義の結果になります。

NSTextView でカスタム NSTextStorage を使用しようとした人はいますか? これどうやってするの?それとも、これは設計上禁止されていますか?

0 投票する
2 に答える
355 参照

objective-c - NSTextView で特定の NSTextStorage を使用するにはどうすればよいですか?

textStorageNSTextView のプロパティを自分の NSTextStorage に設定する方法はありますか? NSTextContainer をカスタマイズできるので、次のような方法があります。

そうでない場合、テキスト ビューがインスタンス化された後にデフォルトのテキスト ストレージを交換する方法はありますか? これは NSTextView をサブクラス化して行う必要がありますか?

0 投票する
1 に答える
197 参照

iphone - iPhoneアプリのUITextViewでいくつかの単語に色を付けることは可能ですか?

iPhoneアプリのUITextViewでいくつかの単語に色を付けようとしていますが、エラーが発生し、おそらくそれは不可能だと思い始めています...私はこのコードを使用しています:

そして、私はこのエラーが発生しています:

-[ UITextView textStorage]: インスタンス 0x1f26ca00 2013-10-16 20:59:41.711 に送信された認識されないセレクターインスタンス 0x1f26ca00' に送信されたセレクター

私は Mac アプリで同じコードを使用していますが、問題なく動作します...誰かが私が何か間違ったことをしているのか、それとも iPhone アプリで単に動作しないのかを知っていますか? 助けてくれてありがとう...マッシー

0 投票する
3 に答える
1769 参照

ios - NSTextStorage NSMutableAttributedString の最後に新しいフォントを設定します

UITextView を使用してリッチ テキスト編集を扱うアプリを作成しています。NSTextStorage を使用して、文字列の一部に新しい属性を設定します。ただし、ユーザーが新しいスタイルのテキストの文字列の末尾または文字列の途中でフォントまたはフォント サイズを変更したい場合 (つまり、渡された範囲setAttributes:range:の長さが 0 の場合)、これは0の範囲で属性を設定できないため、実行できません。基本的に、UITextViewのカーソルの位置に新しいUIFontを設定するにはどうすればよいですか?

私の NSTextStorage サブクラスからの関連コード:

0 投票する
1 に答える
4695 参照

ios - NSTextStorage サブクラスの viewController の layoutManager を設定するときの無効なグリフ インデックス

私の目標は、TextKit を使用して、特定の単語の斜体化、テキスト サイズの設定などを行うことです。

まず、テキスト文字列内の文字を強調表示しようとしています。私は TextKit (そして正直なところプログラミング全般) に慣れていないので、obc.io issue #5 の構文強調トピックに従っています。

作成した UITextView に組み込まれている NSLayoutManager を使用すると、例外がスローされずにテキストが画面に表示されます。UITextView をビュー コントローラー (下記) の NSTextStorage サブクラスのレイアウト マネージャーとして設定すると、無効なグリフ インデックスの例外のエラーが発生します。

コンソール出力は次のとおりです。

Apple のテキスト プログラミング ガイドを何度も読み、テキスト システムがどのように確立されているかを理解していると思いますが、グリフ数がグリフ数を超える理由がわかりません...

viewController と NSTextStorage サブクラスの gist をそれぞれherehereに作成しました。