NSStringを指定されたスペースにどれだけレンダリングできるかを判断する方法はありますか?NSStringの描画/サイズメソッドで描画される部分文字列を決定します
NSStringのsizeWithFontメソッド(sizeWithFont:constrainedToSize:lineBreakModeなど)はすべて知っています。文字列が長すぎて収まらない場合は、文字列のどの部分がレンダリングできたかは分かりません。例えば
、Iは
NSString *testString = @"The brown dog";
を有し、私が呼び出した場合:
[testString sizeWithFont:[UIFont systemFontOfSize:17] constrainedtoSize:CGSizeMake(20, 20) lineBreakMode:UILineBreakModeWordWrap];
IはCGSize = {20,20}を取り戻すことができます。それは文字列が少なくとも全体のサイズを取ったと私に伝えますが、それが終わったか、どれくらいフィットすることができたかはわかりません。 「ブラウン」だけがフィットすることができれば、私はそれを知りたいと思います。
これを行うには、いくつかのCore Foundationメソッドが必要でしょうか?
申し訳ありません、申し訳ありませんが、これまでに返信したはずです。あなたが言ったことの最初の部分は、私が後にしたものにはあまり当てはまらないものですが、ループの提案は私たちが最終的に行ったことに近いものです。基本的には、まず大きなサイズから始め、多かれ少なかれバイナリ検索を行って、一番長い文字列を見つけました。 – DougW