0

ベースラインの代わりに(各サイズの)境界中心によって複数のサイズのテキストを整列させることは可能ですか?

CTRunDelegate機能を試しましたが、機能しません。CTRunDelegateCallbacks.getAscentとで可能でしCTRunDelegateCallbacks.getDescentたが、機能が動作しません。動作しただけCTRunDelegateCallbacks.getWidthです。複数のサイズのテキスト、画像、および任意のオブジェクトをレイアウトすることに成功しましたが、ベースラインの配置のみがサポートされています。

4

2 に答える 2

2

実行デリゲートメソッドgetAscentおよびgetDescentは、実際には呼び出されます(これは私自身のコードで機能しています)。もちろん、上昇と下降はベースラインを基準にしているため、これによってベースラインが変更されない(したがって、テキストが行上の他のテキストと比較して表示される方法が変更されない)ことは理にかなっています。

getBaselineOffsetがあると便利ですが、残念ながらそれは存在しません。

私の提案は、実行デリゲートコールバックを使用して、ベースラインの異なるテキスト用のスペースを予約し、2回目のパスで、ベースラインの異なる他のテキストを描画することです。

于 2011-06-29T00:08:04.073 に答える
0

今でも無理でした。Core Text の現在のバージョンでは、これは不可能であると考えています。

于 2010-11-20T14:21:22.627 に答える