যেহেতু আমরা ৪.৩ এর বেশি আইওএসের সমস্ত আকারের জন্য আকার ব্যবহার করতে পারি না আমাদের .0.০ এবং পূর্ববর্তী আইওএসের শর্তসাপেক্ষ কোড লিখতে হবে।
1) সমাধান 1:
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
CGSize size = CGSizeMake(230,9999);
CGRect textRect = [specialityObj.name
boundingRectWithSize:size
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:[UIFont fontWithName:[AppHandlers zHandler].fontName size:14]}
context:nil];
total_height = total_height + textRect.size.height;
}
else {
CGSize maximumLabelSize = CGSizeMake(230,9999);
expectedLabelSize = [specialityObj.name sizeWithFont:[UIFont fontWithName:[AppHandlers zHandler].fontName size:14] constrainedToSize:maximumLabelSize lineBreakMode:UILineBreakModeWordWrap]; //iOS 6 and previous.
total_height = total_height + expectedLabelSize.height;
}
2) সমাধান 2
UILabel *gettingSizeLabel = [[UILabel alloc] init];
gettingSizeLabel.font = [UIFont fontWithName:[AppHandlers zHandler].fontName size:16]; // Your Font-style whatever you want to use.
gettingSizeLabel.text = @"YOUR TEXT HERE";
gettingSizeLabel.numberOfLines = 0;
CGSize maximumLabelSize = CGSizeMake(310, 9999); // this width will be as per your requirement
CGSize expectedSize = [gettingSizeLabel sizeThatFits:maximumLabelSize];
প্রথম সমাধানটি কখনও কখনও উচ্চতার যথাযথ মানটি ফিরিয়ে দিতে ব্যর্থ হয়। সুতরাং অন্য সমাধান ব্যবহার করুন। যা নিখুঁতভাবে কাজ করবে।
দ্বিতীয় বিকল্পটি বেশ ভাল এবং শর্তাধীন কোড ব্যতীত সমস্ত আইওএসে সহজেই কাজ করছে।
-sizeWithAttributes:
।