問題タブ [ctframe]

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 に答える
597 参照

core-graphics - CGPathの起点を特定するにはどうすればよいですか?

内にテキストを描画しています。CGPathテキストのヒットテストを行うために、を使用していCTFrameGetLineOriginsます。ドキュメントの内容は次のとおりです。

各CGPointは、フレームのパスの原点を基準にして、CTFrameGetLinesによって返される線の配列内の対応する線の原点です。

フレームのパスの原点を見つけるにはどうすればよいですか?例私が見つけたのは、パスが最初に作成されたときに、パスの起点をすべて保存することです。これには2つの問題があります。

  1. 私のパスの作成は、ヒットテストを行っている場所からかなり離れています。CGPointに加えて、を渡していることを確認する必要がありCGPathます。醜いですが、乗り越えられないわけではありません。
  2. 長方形ではない形状の起源は何ですか?円形のCGPathの起源は何ですか?
0 投票する
1 に答える
1584 参照

objective-c - CTFrameでの行間隔の設定

私は一種のQRコードジェネレーターで働いています。それはMacアプリです。テキストの描画方法は知っていますが、行間隔を設定する方法がわかりません。

私のコード:

探していましたが何も見つかりません。たぶん私はCTLineを使わなければなりませんか?

アップデート:

さて、私はこれを見つけましたが、それは私の問題を解決しません、私は0.0ポイント未満の行間隔が必要です。

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

objective-c - CTFrameGetVisibleStringRange() は 0 を返します

NSAttributedStringの読み取り中にviewControllerの配列を生成するこのコードがあります。最初のサイクルの後、CTFrameGetVisibleStringRange() 関数は、表示するテキストがさらにある場合でも 0 を返します。

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

objective-c - CTFrameクリッピングテキストの最初の行

Core Textを使用しているときに問題が発生しCTFrameました。下のスクリーンショットに示すように、aに表示するテキストの最初の行が、文字「B」で途切れています。

CTFrameクリッピングの最初の行の例

の先頭を設定しているときに何か間違ったことをしていると思いますCTFrame。私のコードは以下の通りです:

他のSO投稿(これこれ)はあまり役に立ちません。

CTFrameが最初の行をクリッピングしないようにするにはどうすればよいですか?

- 編集 -

20に減らすlineheight

lineheight2行目以降は尊重されますが、テキストの1行目のベースラインは上部から20未満です。

ここに画像の説明を入力してください

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

iphone - CTFrame を UIViewController に追加するには?

目標は、テキストを iBooks スタイルのページのようにフォーマットして表示することです。このためにUIPageViewController、必要なアニメーションのトランジションを指定し、UIViewControllerコレクションなどを生成します。テキストを表示するにはUITextView、各UIViewControllerコレクションに配置します。

そして、ページのテキストを自動的に分割するために、次の手順を独自に作成しました。

[NSString sizeWithFont:...].

ここからの情報をありがとう - iBooks アプリはどのように別々のページのテキストをフォーマットしますか?

すべてが機能していますが、私が望むほどうまくいきません。NSStringあまり便利でUITextViewはなく、適切な書式設定のないテキストが表示されます。分割も十分ではありません=)

さらに、 で分割しようとしましたCore Text。アプローチはここに示されています -長い NSString をページに分割する方法

それも機能します。Core Textよく分割され、他の多くの優れた機能があります。しかし!コア テキスト テキストで分割された値を で使用できませんでしたUITextView。Core Text ページごとに分割して表示するには、Core Textテクニックを使用する必要があります。

質問は次のとおりです: を作成し、コレクションCTFrameごとに追加/描画する方法は?UIViewControllerUIPageController

それは不可能だと思います。もしそうなら、必要な機能を実現するためのアイデアを提案してください。

そして、私の質問を許してください、私はiOSプログラミングの初心者です。

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

drawrect - CTFrameDraw() によって無視される NSObliquenessAttributeName

何か奇妙なことが起こっています。傾斜や傾斜など、いくつかの書式設定のために NSAttributedString を使用していました。NSObliquenessAttributeName はトリックを行いました。しかし、その後、テキストが実際にレンダリングされるフレームを制御するために CoreText に拡張したいと考えました。他のすべての属性はまだレンダリングされているため、少し混乱しています。