私はNSStringを持っていて、適切なUILabelを作成するためにその高さを知りたいと思います。NSStringの高さを取得する
この
NSString *string = @"this is an example";
CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:10.0f]
forWidth:353.0
lineBreakMode:UILineBreakModeWordWrap];
float height = size.height;
高さは今13.0で行います。 私はこの文字列を使用する場合は
NSString *string = @"this is an example this is an example this is an example
this is an example this is an example this is an example
this is an example this is an example this is an example
this is an example this is an example this is an example
this is an example this is an example this is an example
this is an example ";
高さは常に13.0である(と幅と353で、それは不可能です)...私が間違って何をやっていますか?
ADD:
size.width;
作品罰金...そうlineBreakModeが正しくありません...しかし、それは、そうでない場合、それはようなものですか?
あなたは文字列からそのサイズを取っていますあなたが作成したCGSizeではなく、オブジェクトです。それはタイプミスですか? –
しかし 'sizeWithFont:forWidth:lineBreakMode'はNSString(例えばUILabelではありません)を受け取ります...正しいですか...そうではありませんか? – JAA
それはそれを取ることはない、と言うと、それはそれに作用し、あなたにサイズを戻します。だから、 'float height = string.height;'を 'float height = sizeに変更するのであれば。高さ;、私はそれがより理にかなっていると思っています。 –