मुझे एक विस्तार दृश्य नियंत्रक में एक UILabel मिला है, इसलिए इसकी सामग्री चयनित तालिका पंक्ति के आधार पर बदलती है। मुझे एक समस्या है, मैं अपने UILabel के लिए एक निश्चित चौड़ाई निर्धारित करता हूं और पाठ के आधार पर एक गतिशील ऊंचाई निर्धारित करता हूं। मैं यह कैसे कर सकता हूँ? (मुझे अपनी गलतियों के लिए खेद है, लेकिन मैं अंग्रेजी नहीं हूं)यूआईएलएबल निश्चित चौड़ाई और लचीला ऊंचाई
उत्तर
आप यह कर सकते हैं .. कोड है।
UILabel *yourlabel = [[UILabel alloc] initWithFrame:CGRectMake(x, y, 100, sizeToFit)];
yourlabel.numberOfLines = 0;
किसी भी प्रश्न के लिए कृपया टिप्पणी करें।
मुझे यह करने के लिए UILabel
उपclass करना पसंद है।
AutosizingLabel.h
#import <UIKit/UIKit.h>
@interface AutosizingLabel : UILabel {
double minHeight;
}
@property (nonatomic) double minHeight;
- (void)calculateSize;
@end
AutosizingLabel.m
#define MIN_HEIGHT 10.0f
#import "AutosizingLabel.h"
@implementation AutosizingLabel
@synthesize minHeight;
- (id)init {
if ([super init]) {
self.minHeight = MIN_HEIGHT;
}
return self;
}
- (void)calculateSize {
CGSize constraint = CGSizeMake(self.frame.size.width, 20000.0f);
CGSize size = [self.text sizeWithFont:self.font constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
[self setLineBreakMode:UILineBreakModeWordWrap];
[self setAdjustsFontSizeToFitWidth:NO];
[self setNumberOfLines:0];
[self setFrame:CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, MAX(size.height, MIN_HEIGHT))];
}
- (void)setText:(NSString *)text {
[super setText:text];
[self calculateSize];
}
- (void)setFont:(UIFont *)font {
[super setFont:font];
[self calculateSize];
}
@end
इस का उपयोग करने के लिए, आयात/अपनी परियोजना में ज और .m फ़ाइलों को बनाने के।
#import "AutosizingLabel.h"
- (void)viewDidLoad {
[super viewDidLoad];
AutosizingLabel *label = [[AutosizingLabel alloc] init];
label.text = @"Some text here";
[self.view addSubview:label];
}
आप एक XIB का उपयोग कर रहे हैं, तो आप किसी भी UILabel का चयन करें और सही साइडबार में पहचान इंस्पेक्टर पर क्लिक करें यह स्थापित करने के लिए कर सकते हैं: तो अगर आप कोड में अपने UILabel
बना रहे हैं, यह कुछ इस तरह दिखेगा कक्षा AutosizingLabel
। किसी भी मामले में, .text
संपत्ति सेट करने से लेबल के आकार को स्वतः अपडेट किया जाएगा।
धन्यवाद। और फिर मैं अपने UILabel के लिए गतिशील ऊंचाई रखने के लिए विस्तार दृश्य नियंत्रक में इस सबक्लास का उपयोग कैसे कर सकता हूं? –
मैंने इसका उत्तर कैसे उपयोग किया है इसके बारे में अधिक जानकारी के साथ अपना उत्तर अपडेट किया। –
बहुत बहुत धन्यवाद, मैं अभी इसे आजमाने की कोशिश कर रहा हूं। –
- 1. Imagemagick: निश्चित ऊंचाई, आनुपातिक चौड़ाई
- 2. एक उल (एनएवी) लचीला चौड़ाई
- 3. सीएसएस: लचीला चौड़ाई (न्यूनतम चौड़ाई के बिना) -
- 4. स्क्रीन चौड़ाई और ऊंचाई
- 5. बदलने UIImageView चौड़ाई और ऊंचाई
- 6. निश्चित ऊंचाई
- 7. निश्चित अधिकतम ऊंचाई
- 8. फैंक्सबॉक्स सेट ऊंचाई और चौड़ाई
- 9. TinyMCE चौड़ाई और ऊंचाई अवज्ञाकारी!
- 10. UserControl क्रम चौड़ाई और ऊंचाई
- 11. एचटीएमएल 'टीडी' चौड़ाई और ऊंचाई
- 12. base64 छवि चौड़ाई और ऊंचाई
- 13. सेट दृश्य चौड़ाई और ऊंचाई
- 14. GetSupportedPreviewSize रिवर्स चौड़ाई और ऊंचाई
- 15. पूर्ण चौड़ाई और ऊंचाई एसवीजी
- 16. इमेजमैजिक: निश्चित चौड़ाई, आनुपातिक ऊंचाई पर कनवर्ट करें
- 17. एचटीएमएल 5 लचीला बॉक्स मॉडल ऊंचाई गणना
- 18. यूआईएलएबल
- 19. डिव निश्चित ऊंचाई पेज
- 20. एचटीएमएल टेबल निश्चित ऊंचाई?
- 21. एक निश्चित पिक्सेल चौड़ाई
- 22. निश्चित चौड़ाई लिखना, पाइथन
- 23. जेएस "विंडो" चौड़ाई-ऊंचाई बनाम "स्क्रीन" चौड़ाई-ऊंचाई?
- 24. एक टेबल लेआउट स्टाइलिंग निश्चित और निश्चित चौड़ाई कॉलम + colspan
- 25. डिवाइस कच्ची चौड़ाई और ऊंचाई या वास्तविक स्क्रीन चौड़ाई और ऊंचाई कैसे प्राप्त करें?
- 26. पार्स निश्चित-चौड़ाई फ़ाइलों
- 27. कंटेनर चौड़ाई/ऊंचाई
- 28. एसवीजी, टेक्स्ट, फिक्स्ड चौड़ाई/ऊंचाई
- 29. UIWebView चौड़ाई और ऊंचाई सेट करना
- 30. jQuery स्लाइडर की चौड़ाई और ऊंचाई बदलें
मैं साइजटेक्ट ऊंचाई के लिए आकार के रूप में आकार टॉफ़िट का उपयोग नहीं कर सकता, एक्सकोड मुझे ऐसा करने की अनुमति नहीं देता .. यह कहता है कि यह एक 'अविकसित पहचानकर्ता' –
धन्यवाद अल्बर्ट;) –
बस यह जांचें .. लिंक मुझे लगता है कि यह आपकी समस्या का समाधान करेगा। http://basheerad.blogspot.com/2011/12/dynamic-width-and-height-for-uilabel-in.html – jamil