Tôi có NSString và tôi muốn biết chiều cao của nó để tạo UILabel thích hợp.Lấy chiều cao NSString
Làm chiều cao
NSString *string = @"this is an example";
CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:10.0f]
forWidth:353.0
lineBreakMode:UILineBreakModeWordWrap];
float height = size.height;
này bây giờ là 13.0. Nếu tôi sử dụng chuỗi này
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 ";
chiều cao luôn là 13,0 (và với 353 như chiều rộng, đó là không thể) ... những gì tôi làm sai?
ADD:
size.width;
hoạt động tốt ... do đó, nó giống như nếu lineBreakMode là không đúng ... nhưng nó là, phải không?
Bạn đang dùng kích thước từ chuỗi. đối tượng, không phải CGSize bạn vừa tạo. Đó có phải là lỗi đánh máy không? –
nhưng 'sizeWithFont: forWidth: lineBreakMode' có một NSString (không phải là UILabel, ví dụ) ... vì vậy nó đúng ... hay không? – JAA
Nó không mất nó, nói rằng, nó hoạt động trên nó, và cung cấp cho bạn trở lại một kích thước. Vì vậy, nếu bạn thay đổi 'float height = string.height;' thành 'float height = size.chiều cao, ', tôi đoán nó sẽ có ý nghĩa hơn. –