मेरे पास एक एनएसएसटींग है, और मैं उपयुक्त यूलाबेल बनाने के लिए अपनी ऊंचाई जानना चाहता हूं।एनएसएसटींग ऊंचाई प्राप्त करें
इस
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 चौड़ाई के रूप में, कि असंभव है) ... क्या मैं गलत कर रहा हूँ?
जोड़ें:
size.width;
ठीक काम करता है ... तो यह है, तो lineBreakMode सही नहीं है की तरह है ... लेकिन यह है, यह नहीं है?
आप स्ट्रिंग से है कि आकार ले जा रहे हैं जो। ऑब्जेक्ट, सीजीएसआईज जिसे आपने अभी बनाया है। क्या यह एक टाइपो है? –
लेकिन 'sizeWithFont: forWidth: lineBreakMode' एक एनएसएसटींग (उदाहरण के लिए UILabel नहीं) लेता है ... तो यह सही है ... या नहीं? – JAA
यह नहीं कहता है, प्रति कहता है, यह इस पर कार्य करता है, और आपको एक आकार देता है। तो अगर आप 'फ्लोट ऊंचाई = string.height;' को 'फ्लोट ऊंचाई = आकार' में बदलना चाहते थे।ऊंचाई; ', मुझे लगता है कि यह और अधिक समझ जाएगा। –