यहाँ कि करने के दो तरीके हैं ...
1. पहले 0 करने के लिए numberOfLines
सेट करें और फिर अपने contentSize
साथ UILabel
तो अपने UILabel
प्रदर्शन के sizeToFit
संपत्ति का उपयोग करें।
yourLabel.numberOfLines = 0;
[yourLabel sizeToFit];
इस लिंक से अधिक जानकारी देखें: Vertically align text within a UILabel
2. एक अन्य विकल्प है UILabel
के बजाय UITextField
लेने के लिए और NO
नीचे की तरह करने के लिए userInteractionEnabled
सेट करने के लिए ...
[yourTextField setUserInteractionEnabled:NO];
और फिर नीचे contentVerticalAlignment
संपत्ति को नीचे की तरह सेट करें ....
[yourTextField setContentVerticalAlignment:UIControlContentVerticalAlignmentBottom];
अद्यतन
इसके अलावा, UITextField
के साथ, हम कई पंक्तियों को प्राप्त नहीं कर सकता। तो इसके बजाय हम UITextView
का उपयोग कर सकते हैं और userInteractionEnabled
को NO
पर सेट कर सकते हैं। फिर, इसे नीचे गठबंधन करने के लिए नीचे दिए गए कोड का उपयोग करें।
CGFloat topCorrect = ([label bounds].size.height - [label contentSize].height);
topCorrect = (topCorrect <0.0 ? 0.0 : topCorrect);
label.contentOffset = (CGPoint){.x = 0, .y = -topCorrect};
स्रोत
2013-08-15 07:24:20
मैंने पहले ही समाधान का प्रयास किया है। लेकिन यह ठीक से काम नहीं कर रहा है। यह हमेशा ऊपर और बाएं में गठबंधन होता है। लेकिन इसे हमेशा नीचे और केंद्र पर गठबंधन किया जाना चाहिए। लेकिन दूसरा समाधान काम करता प्रतीत होता है। दूसरे समाधान में एकाधिक लाइन के बारे में क्या? क्या यह संभव होगा? – NSUserDefault
मान लीजिए कि यह फ्रेम 3 लाइन के साथ है 'सीजीआरईटीमेक (10,100,100,300);' फिर यदि आपको केवल एक पंक्ति मिलती है तो उस फ्रेम को सेट करें 'सीजीआरईटीमेक (10,260,100,300);', यहां तर्क के साथ कुछ कस्टम कोड सेट करें ** अन्यथा ** दूसरा विकल्प सबसे अच्छा है :) –
हां दूसरा सबसे अच्छा है। मैं कोशिश करूँगा और आपको बता दूंगा। – NSUserDefault