2011-04-05 11 views
9

मैं sizeToFit पर UILabel पर कॉल कर रहा हूं जिसमें इसमें सही संरेखित टेक्स्ट है। यह UILabel की ऊंचाई और चौड़ाई को कम करता है और पाठ को UILabel के ऊपरी बाईं ओर फिट करता है।आईओएस में - मैं अपनी स्थिति को बदलने के बिना, अपने टेक्स्ट में यूआईएलएबल कैसे फिट करूं?

अब ... UILabel की स्थिति गलत है। मैं UILabel अपनी मूल स्थिति (दाएं संरेखित) में कैसे रह सकता हूं या इसे स्थानांतरित कर सकता हूं ताकि यह इसकी मूल स्थिति पर दिखाई दे?

एक बार फिर - समस्या यह है कि sizeToFit विधि UILabel के दाईं ओर चौड़ाई को कम कर रही है। यह UILabel पाठ को बाएं संरेखित के रूप में पढ़ रहा है। लेकिन मेरा पाठ सही गठबंधन है। तो, UILabel की दाईं ओर सीमा है जहां मेरा टेक्स्ट शुरू होता है।

उत्तर

3

आप & के बाद से पहले चौड़ाई की जाँच, तो अंतर/2.

द्वारा सही दृश्य के केन्द्र के लिए कदम वैसे, मुझे लगता है कि "बॉक्स" (फ्रेम) दोनों दिशाओं में सिकुड़ रहा है, ध्यान में रखते हुए केंद्र बरकरार है।

15
@implementation UILabel (Additions) 

- (void)sizeToFitWithAlignmentRight { 
    CGRect beforeFrame = self.frame; 
    [self sizeToFit]; 
    CGRect afterFrame = self.frame; 
    self.frame = CGRectMake(beforeFrame.origin.x + beforeFrame.size.width - afterFrame.size.width, self.frame.origin.y, self.frame.size.width, self.frame.size.height); 
} 

@end 
+0

साफ। अच्छा सुझाव! – Rambatino

संबंधित मुद्दे