দেখে মনে হচ্ছে UITextAlignmentCenter
আইওএস 6-এ অবহেলা করা হয়েছে।
আমি এখনও এটি ব্যবহার করি এবং ভাল কাজ করে তবে এটি একটি সতর্কতা দেয়।
আমি এটা কিভাবে ঠিক করবো?
label.textAlignment = UITextAlignmentCenter;
ধন্যবাদ।
দেখে মনে হচ্ছে UITextAlignmentCenter
আইওএস 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;
উপরোক্ত পদ্ধতির নতুন পদ্ধতির জন্য কাজ করে ; আপনি সতর্কতা পেতে কিন্তু সবকিছু ঠিক আছে। কিন্তু যখন সংকলকটি এমন ধ্রুবকটি দেখে যা এটি সম্পর্কে জানা নেই, এটি লাল হয়ে যায় এবং তার ট্র্যাকগুলিতে থামে s NSTextAlignmentCenter
এটি কেটে যাওয়ার কোন উপায় নেই । (আচ্ছা, এখানে কম্পাইলারের আচরণটি কাস্টমাইজ করার কোনও উপায় থাকতে পারে তবে এটি অপ্রয়োজনীয় বলে মনে হচ্ছে))
কাজের শর্তটি হ'ল কিছু শর্তযুক্ত পূর্ব প্রসেসর সংজ্ঞায়িত করা। আপনি যদি নিজের শ্রেণির এইচ ফাইলটিতে এমন কিছু রাখেন (বা সম্ভবত কোনও আমদানি করা #import <UIKit/UIKit.h>
কনস্ট্যান্ট ফাইলের মধ্যে - যা নিজেই অবশ্যই এনএসটিেক্সট ... ধ্রুবক সম্পর্কে জানার জন্য অন্তর্ভুক্ত থাকতে হবে )…
#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;
প্রভৃতি
যেহেতু এই ইউআইটিেক্সট / এনএসটিেক্সট পরিবর্তনগুলি একাধিক নিয়ন্ত্রণের জন্য পপ আপ হওয়ার সম্ভাবনা রয়েছে তাই এই পদ্ধতিটি বেশ কার্যকর।
(ক্যাভেট: পূর্বোক্ত অবিচলিত পৃথিবী প্রেমীদের একজন সদস্য হওয়ার কারণে আমি এটি পুরানো সংস্করণ দিয়ে পরীক্ষা করেছি, তবে এখনও আইওএস with এর সাথে না।)
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];
আপনাকে এগুলির একটিও করতে হবে না। এক্সকোড 4.5 NSTextAlignmentCenter
আইওএস 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];
labelName.textAlignment=NSTextAlignmentLeft;
আমারও অনুরূপ সমস্যা ছিল এবং নিম্নলিখিতগুলি ব্যবহার করা হয়েছিল: বিশদলাবল.টেক্সটএলাইনমেন্ট = এনএসটেক্সটএলাইনমেন্টসেন্টার;
আইওএস 6 বা ততোধিক ক্ষেত্রে
এই মানটি ব্যবহার করুন:
self.lbl_age.textAlignment=NSTextAlignmentCenter;
সুইফট 3:
label.textAlignment = NSTextAlignment.center
NSTextAlignment
।