問題タブ [textkit]

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 投票する
1 に答える
516 参照

ios - NSTextStorage の代替バッキング ストア

すべての例は、テキストの表示/編集に関連するテキストと属性を保持するための「バッキング ストア」として NSMutableAttributedString を示しています。std::string やデータベースのコンテンツなどの代替を使用するにはどうすればよいですか。テストとして、サブクラスを作成し、必要なメソッドをオーバーライドしたときにデフォルト値を返すようにハードコーディングしました。ただし、iPhone 5 デバイスで実行すると、ホーム ボタンを押すまで黒い画面が表示されます。システムは、attributesAtIndex:location:effectiveRange: range: を継続的に呼び出し、CPU 使用率レベルが 100% まで上昇し、アプリは何もしません。string: メソッドを 1 回呼び出しますが、attributesAtIndex:location:effectiveRange:range を呼び出し続けます。

例:

そして、これがどのようにセットアップされているかです:

NSTextStorage はクラス クラスターであると理解しています。これは、抽象クラス ファクトリであることを意味しているようです。別の「バッキング ストア」を使用できない理由がよくわかりません。私の計画は、std::string を使用し (データの取得元の理由により)、一定の属性スタイルを返すことでした (上記のコードのように)。Mac OS X ドキュメントを含め、NSTextStorage、NSLayoutManager、NSTextContainer、および NSTextView についてできる限りのことを読んできました (iOS でこれを行っていますが)。ありがとう!

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

ios - テキストに下線を引く - フォント サイズが異なる交差範囲の線の太さ

の textStorage の属性を使用していますUITextView。クラスのオブジェクトの文字列と配列がありますTextFormattingElement。このクラスのインスタンスは、NSRange(この要素をテキストに適用する必要がある) といくつかの書式設定パラメーターで構成されます。

次に、この配列をループして、この要素を textView の textStorage に連続して適用します。私はこの方法を使用します:

問題が 1 つあります。TextFormattingElement範囲が交差する 2 つのインスタンスがある場合 (例:NSMakeRange(9,28)NSMakeRange(26,7))、下線の太さは常に最後の要素のフォント サイズに依存する値になります。この図は、このスクリーンショットで見ることができます:

ここに画像の説明を入力

私の2つのフォーマット要素のパラメータは次のとおりです。

1 つ目: 位置 = 9、長さ = 28、fontName = TimesNewRomanPSMT、fontSize = 15、fontColor = UIDeviceRGBColorSpace 1 0 0 1、isBold = 0、isItalic = 0、isUnderlined = 1、isStriked = 0

2番目: 位置 = 26、長さ = 7、fontName = TimesNewRomanPSMT、fontSize = 25、fontColor = UIDeviceRGBColorSpace 0 0 1 1、isBold = 1、isItalic = 0、isUnderlined = 1、isStriked = 0

しかし、Google ドキュメントのような効果を得たい:

ここに画像の説明を入力

TextKit を使用してこれを行うにはどうすればよいですか?

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

ios - NSAttributedString: 属性とインデントが異なる行を表示する方法

文字列「5 + ボーナス ボール」を次​​のように分割する方法:

ここに画像の説明を入力

この属性付き文字列をラベルに割り当てます。

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

ios - ファイルからの複数の段落スタイルを持つ iOS7 UITextView

Dynamic Type をサポートするいくつかの見出しとテキストの段落をレイアウトしたいアプリのアプリ内ガイドに取り組んでいます。

単一の UITextView を使用する最も簡単な方法は何ですか? (テキストは別のテキスト ファイルからロードすることをお勧めします)。

これには多くのアプローチがあります。

  • UIWebViews (オーバーキル??)
  • UITextView と NSAttributedString?
  • テキスト キット - この単純なタスクに対して、どちらが面倒に思えますか?

ご希望のレイアウト・機能例

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

ios - UITextView のテキストを太字にしてクリックできないように設定する方法

に次の HTML があり、UITextViewそれを にレンダリングしたいUITextView

ノートのための私の体です

追加させてください: 現在、青色で下線が引かれ、クリックできません。太字にしてクリックできないようにしたいと思います。私はこれに関するドキュメントを読みましたlinkTextAttributesが、これを使用していないため、少し理解できず、これを操作する簡単な方法がわかりません。上記のリンクを太字で黒(青ではなく)にして、クリックできない性質を維持するにはどうすればよいですか?

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

objective-c - TextKit を使用して文字間に固定距離を設定するにはどうすればよいですか

TextKitは長いテキストを描くために使用します。段落配置はNSTextAlignmentJustifiedhyphenationFactorオンです。

通常は問題なく機能しますが、次のような行が表示されることがあります"L o n g t e x t"。のような線を引く方法はあり"Long____text"ますか? つまり、柔軟なスペースで文字間に一定の距離を設定しますか?

前もって感謝します。

0 投票する
4 に答える
5275 参照

ios - UILabel でテキストを円に合わせる方法

UILabelテキストを(四角形ではなく)円に流し込みたいと思います。でいくつかの実験をNSLayoutManager行いNSTextContainerましNSTextStorageたが、うまくいかないようです。以下の例では、テキストを 40x40 (ラベルは 120x120) の小さな四角形に流し込むことになっていますが、何の効果もないようです。

イデス?

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

objective-c - TextKit を使用したページスクロールビューに虫眼鏡と編集メニューが表示されない

TextKit を使用して、ページ化された UIScrollView を作成し、その内容をテキストで埋めます。すべてのページングは​​完全に機能します。私が困惑したのは、すべてのテキストが 1 ページに収まると、すべてが期待どおりに機能するということです。ただし、テキストが長く、スクロールビューで複数のページを作成する必要がある場合、テキストは強調表示/選択できなくなります。

簡単な例を次に示します (これを新しいプロジェクトに挿入しviewDidLoadて複製するだけです)。すべてのテキストが 1 ページに収まるように、テキスト ビューのフォント サイズを小さいサイズ (12pt) に変更すると、期待どおりの動作が得られます。逆に、大きいサイズ (22pt) では、スクロールビュー用に複数のページが作成され、テキストの扱いにくさが失われます。

私の質問は、テキストに複数のページが必要な場合でも、虫眼鏡と編集メニューの機能を元に戻すにはどうすればよいですか?

助けてくれてありがとう!