जैसे लगता UITextAlignmentCenter
है iOS 6 में पदावनत किया गया है।
मैं अभी भी इसका उपयोग करता हूं और अच्छी तरह से काम करता हूं, लेकिन यह एक चेतावनी देता है।
मैं इसे कैसे ठीक करूं?
label.textAlignment = UITextAlignmentCenter;
धन्यवाद।
जैसे लगता UITextAlignmentCenter
है iOS 6 में पदावनत किया गया है।
मैं अभी भी इसका उपयोग करता हूं और अच्छी तरह से काम करता हूं, लेकिन यह एक चेतावनी देता है।
मैं इसे कैसे ठीक करूं?
label.textAlignment = UITextAlignmentCenter;
धन्यवाद।
जवाबों:
IOS6 में आप उपयोग कर सकते हैं
label.textAlignment = NSTextAlignmentCenter;
उम्मीद है की यह मदद करेगा।
labelAlignment
संपत्ति परिवर्तन शायद आईओएस नियंत्रण के अधिक करने के लिए एप्पल के शुरू NSAttributedStrings से संबंधित है, और इसलिए NSText को UIText बदलने के लिए ... गुण की आवश्यकता होगी, ... गुण।
इसलिए यदि आपने iOS6 में अपग्रेड किया है, तो आप क्लोवर में हैं; बस से स्विच UITextAlignmentCenter
करें NSTextAlignmentCenter
और फैंसी नए तार का आनंद लें।
लेकिन अगर आप एक जटिल परियोजना के साथ काम कर रहे हैं और यह पसंद करेंगे कि पृथ्वी आपके पैरों के नीचे से न चले, तो आप कुछ समय के लिए पुराने संस्करण के साथ रहना चाहते हैं, और कई संस्करणों के लिए अपने कोड को अनुकूलित कर सकते हैं, कुछ इस तरह:
// This won't compile:
if ([label respondsToSelector:@selector(attributedText:)])
label.textAlignment = UITextAlignmentCenter;
else
label.textAlignment = NSTextAlignmentCenter;
उपरोक्त दृष्टिकोण नए तरीकों के लिए काम करता है ; आपको चेतावनी मिलती है लेकिन सब कुछ ठीक चलता है। लेकिन जब कंपाइलर एक स्थिरांक देखता है जिसके बारे में उसे पता नहीं होता है, तो वह लाल हो जाता है और अपने पटरियों में रुक जाता है। वहाँ कोई रास्ता नहीं NSTextAlignmentCenter
यह पिछले चुपके है। (ठीक है, यहाँ संकलक के व्यवहार को अनुकूलित करने का एक तरीका हो सकता है, लेकिन यह असंगत लगता है।)
वर्कअराउंड कुछ सशर्त प्रीप्रोसेसर को परिभाषित करने के लिए है। यदि आप अपनी कक्षा की h फ़ाइल में कुछ ऐसा डालते हैं (या शायद एक आयातित स्थिरांक फ़ाइल में - जिसे स्वयं #import <UIKit/UIKit.h>
को NSText ... स्थिरांक के बारे में जानने के लिए अवश्य शामिल करना चाहिए ) ...
#ifdef NSTextAlignmentCenter // iOS6 and later
# define kLabelAlignmentCenter NSTextAlignmentCenter
# define kLabelAlignmentLeft NSTextAlignmentLeft
# define kLabelAlignmentRight NSTextAlignmentRight
# define kLabelTruncationTail NSLineBreakByTruncatingTail
# define kLabelTruncationMiddle NSLineBreakByTruncatingMiddle
#else // older versions
# define kLabelAlignmentCenter UITextAlignmentCenter
# define kLabelAlignmentLeft UITextAlignmentLeft
# define kLabelAlignmentRight UITextAlignmentRight
# define kLabelTruncationTail UILineBreakModeTailTruncation
# define kLabelTruncationMiddle UILineBreakModeMiddleTruncation
#endif
…तुम यह केर सकते हो:
label.textAlignment = kLabelAlignmentCenter;
और इस:
label.lineBreakMode = kLabelTruncationMiddle;
आदि।
चूंकि ये UIText / NSText परिवर्तन कई नियंत्रणों के लिए पॉपिंग होने की संभावना है, इसलिए यह दृष्टिकोण काफी आसान है।
(कैविएट: उपर्युक्त स्थिर-पृथ्वी प्रेमियों के सदस्य होने के नाते, मैंने इसे पुराने संस्करण के साथ परीक्षण किया है, लेकिन अभी तक iOS6 के साथ नहीं।)
NSTextAlignmentCenter
के स्थान पर इस्तेमाल किया जा सकता है UITextAlignmentCenter
और अन्य प्रतिस्थापनों की एक सूची नीचे है:
#ifdef __IPHONE_6_0 // iOS6 and later
# define UITextAlignmentCenter NSTextAlignmentCenter
# define UITextAlignmentLeft NSTextAlignmentLeft
# define UITextAlignmentRight NSTextAlignmentRight
# define UILineBreakModeTailTruncation NSLineBreakByTruncatingTail
# define UILineBreakModeMiddleTruncation NSLineBreakByTruncatingMiddle
#endif
#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_6_0)
# define ALIGN_CENTER NSTextAlignmentCenter
#else
# define ALIGN_CENTER UITextAlignmentCenter
#endif
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 30)];
label.text = @"There is no spoon";
label.textAlignment = ALIGN_CENTER;
[self addSubview:label];
आपको इनमें से कुछ भी नहीं करना है। NSTextAlignmentCenter
IOS 5 में Xcode 4.5 , आदि को संकलित करेगा ।
UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 150, 40)];
[label1 setText:@"Your String"];
[label1 setBackgroundColor:[UIColor clearColor]];
[label1 setNumberOfLines:0];
[label1 sizeToFit];
//For Center Alignment
[label1 setTextAlignment:NSTextAlignmentCenter];
//For Right Alignment
[label1 setTextAlignment:NSTextAlignmentRight];
//For Left Alignment
[label1 setTextAlignment:NSTextAlignmentLeft];
// Add the label into the view
[self.view addSubview:label1];
मेरे पास एक समान मुद्दा था और निम्नलिखित का उपयोग किया था: detailsLabel.textAlignment = NSTextAlignmentCenter;
iOS 6 या अधिक में
इस मान का उपयोग करें:
self.lbl_age.textAlignment=NSTextAlignmentCenter;
स्विफ्ट 3:
label.textAlignment = NSTextAlignment.center
NSTextAlignment
:।