UILabel-də yuxarıdakı mətnləri şaquli şəkildə düzəldin

UILabel iki xətti üçün yer olan bir UILabel var. Bəzən mətn çox qısa olduğunda bu mətn etiketin şaquli mərkəzində görünür.

UILabel in üst hissəsində həmişə mətni UILabel necə?

2019

2049
28 июня '09 в 11:54 2009-06-28 11:54 Stefan 28 iyun 'da 09: 34-da yaradılmışdır 2009-06-28 11:54
@ 49 cavab
  • 1
  • 2

UILabel də şaquli UILabel təyin edə bilməzsiniz, lakin etiket çərçivəsini dəyişdirərək eyni təsiri əldə edə bilərsiniz. Etiketlerimi portağal düzəldirdim, buna görə nə baş verdiyini dəqiq görürsən.

Bunu etmək üçün tez və asan bir yoldur:

  [myLabel sizeToFit]; 

2019

2609
28 июня '09 в 13:36 2009-06-28 13:36 cavab 28 avqust 2009-cu il saat 13 : 36-da nevan kral tərəfindən verilmişdir
  • Yeni mətni quraşdırın:

     myLabel.text = @"Some Text" 
  • 0 (avtomatik) maximum number xətt maximum number :

     myLabel.numberOfLines = 0 
  • Etiket çərçivəsinin maksimum ölçüsünü təyin edin:

     myLabel.frame = CGRectMake(20,20,200,800) 
  • Kontent sadəcə sizeToFit şekilde çerçeve boyutunu azaltmaq üçün sizeToFit çağırın:

     [myLabel sizeToFit] 

Etiket çərçivəsi sadəcə uzunluğu və mətnə ​​sığması üçün kifayət qədər genişdir. Üst sol eyni olmalıdır. Mən bunu yalnız mətnin yuxarı sol tərəfində hizalanma ilə sınamışam. Digər alignments üçün, daha sonra çərçivəsində dəyişdirmək lazımdır bilər.

Ayrıca, mənim etiketimdə sözcük var.

320
27 авг. Jakob Egger tərəfindən verilmiş cavab 27 Avqust. 2010-08-27 19:24 '10 at 19:24 2010-08-27 19:24

Bir uzadılması həllinə toxunaraq:

 for(int i=1; i< newLinesToPad; i++) self.text = [self.text stringByAppendingString:@"\n"]; 

əvəz olunmalıdır

 for(int i=0; i<newLinesToPad; i++) self.text = [self.text stringByAppendingString:@"\n "]; 

UILabels iPhone UILabels , hər bir əlavə xətt əlavə yer tələb edir: (

Bənzər şəkildə, alignBottom da "\n@%" (loop başlamaq üçün, "for (int I = 0 ..." ilə dəyişdirilməlidir) istifadə edərək @" \n@%" istifadə edilməlidir.

Aşağıdakı uzadma mənim üçün işləyir:

 // -- file: UILabel+VerticalAlign.h #pragma mark VerticalAlign @interface UILabel (VerticalAlign) - (void)alignTop; - (void)alignBottom; @end // -- file: UILabel+VerticalAlign.m @implementation UILabel (VerticalAlign) - (void)alignTop { CGSize fontSize = [self.text sizeWithFont:self.font]; double finalHeight = fontSize.height * self.numberOfLines; double finalWidth = self.frame.size.width; //expected width of label CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode]; int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height; for(int i=0; i<newLinesToPad; i++) self.text = [self.text stringByAppendingString:@"\n "]; } - (void)alignBottom { CGSize fontSize = [self.text sizeWithFont:self.font]; double finalHeight = fontSize.height * self.numberOfLines; double finalWidth = self.frame.size.width; //expected width of label CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode]; int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height; for(int i=0; i<newLinesToPad; i++) self.text = [NSString stringWithFormat:@" \n%@",self.text]; } @end 

Sonra [yourLabel alignTop]; zəng edin [yourLabel alignTop]; və ya [yourLabel alignBottom]; Hər bir mətndən sonra sizinLabel təyin edin.

154
09 сент. Cavab Dmitri Sologoubenko tərəfindən verilir 09 Sep. 2010-09-09 16:01 '10 at 16:01 2010-09-09 16:01

Yalnız halda, kimsə kömək etsə, eyni problemim var idi, amma UILabel dən UILabel a UITextView problemi həll edə UITextView . Mən başa düşürəm ki, bu, hər kəs üçün deyil, funksionallıq bir az fərqlidir.

UITextView istifadə edərək keçid UITextView , bütün kaydırma görünüş xüsusiyyətlərini söndürə bilərsiniz, eləcə də istifadəçi qarşılıqlı təsir göstərə bilər ... Bu qısa yol kimi hərəkət etməyə səbəb olacaq.

2019

05 окт. Cavab 05 oktyabr cümə günü verilən cavab . 2011-10-05 15:46 '11 at 15:46 'da 2011-10-05 15:46

Heç bir çaşqınlıq yox, yayla

 @interface MFTopAlignedLabel : UILabel @end @implementation MFTopAlignedLabel - (void)drawTextInRect:(CGRect) rect { NSAttributedString *attributedText = [[NSAttributedString alloc] initWithString:self.text attributes:@{NSFontAttributeName:self.font}]; rect.size.height = [attributedText boundingRectWithSize:rect.size options:NSStringDrawingUsesLineFragmentOrigin context:nil].size.height; if (self.numberOfLines != 0) { rect.size.height = MIN(rect.size.height, self.numberOfLines * self.font.lineHeight); } [super drawTextInRect:rect]; } @end 

No muss, No Objective-c, heç bir yaygara, lakin Swift 3:

 class VerticalTopAlignLabel: UILabel { override func drawText(in rect:CGRect) { guard let labelText = text else { return super.drawText(in: rect) } let attributedText = NSAttributedString(string: labelText, attributes: [NSFontAttributeName: font]) var newRect = rect newRect.size.height = attributedText.boundingRect(with: rect.size, options: .usesLineFragmentOrigin, context: nil).size.height if numberOfLines != 0 { newRect.size.height = min(newRect.size.height, CGFloat(numberOfLines) * font.lineHeight) } super.drawText(in: newRect) } } 
87
21 мая '12 в 10:47 2012-05-21 10:47 cavab jasongregori 21 may '12 saat 10:47 'da verilir 2012-05-21 10:47

Əvvəlki cavabda olduğu kimi, ancaq kodun düzgün və ya asan olmaması üçün bir az təmizləndim. Bu uzantıyı öz .h və .m faylına əlavə edin və ya istifadə edəcəyiniz tətbiqin yuxarı hissəsini sadəcə yapışdırın:

 #pragma mark VerticalAlign @interface UILabel (VerticalAlign) - (void)alignTop; - (void)alignBottom; @end @implementation UILabel (VerticalAlign) - (void)alignTop { CGSize fontSize = [self.text sizeWithFont:self.font]; double finalHeight = fontSize.height * self.numberOfLines; double finalWidth = self.frame.size.width; //expected width of label CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode]; int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height; for(int i=0; i<= newLinesToPad; i++) { self.text = [self.text stringByAppendingString:@" \n"]; } } - (void)alignBottom { CGSize fontSize = [self.text sizeWithFont:self.font]; double finalHeight = fontSize.height * self.numberOfLines; double finalWidth = self.frame.size.width; //expected width of label CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode]; int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height; for(int i=0; i< newLinesToPad; i++) { self.text = [NSString stringWithFormat:@" \n%@",self.text]; } } @end 

Və sonra, istifadə etmək üçün, mətn etiketi qoymaq və sonra uyğunlaşdırmaq üçün müvafiq metodu zəng edin:

 [myLabel alignTop]; 

və ya

 [myLabel alignBottom]; 
76
04 марта '10 в 5:44 2010-03-04 05:44 Cavab BadPirate mart 04 '10 5:44 2010-03-04 05:44 verilir

Bunu yerinə yetirmək üçün daha sürətli (və daha pis) bir yol UILabel xətt fasilə rejimini "Clip" -ə təyin etmək və sabit bir sıra yeni satır satırlarını əlavə etməkdir.

 myLabel.lineBreakMode = UILineBreakModeClip; myLabel.text = [displayString stringByAppendingString:"\n\n\n\n"]; 

Bu həll hər kəs üçün işləməyəcək - xüsusilə də, bir satırın sonunda "xətt" göstərmək istəyirsinizsə, göstərdiyiniz xəttlərin sayını aşarsa, daha uzun kod bitlərindən birini istifadə etməlisiniz, lakin bir çox hallarda sizə lazım olanları verəcəkdir.

66
19 апр. Cavab Purple Ninja Girl Apr 19 verilir 2010-04-19 00:08 '10 at 0:08 2010-04-19 00:08

UILabel əvəzinə, şaquli hizalama variantına malik olan UITextField istifadə edə bilərsiniz:

 textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; textField.userInteractionEnabled = NO; // Don't allow interaction 
57
10 февр. 10 İyul tarixində ivanzoid tərəfindən verilmiş cavab. 2012-02-10 13:36 '12 at 13:36 2012-02-10 13:36

Uzun müddətdir bununla mübarizə aparırdım və qərarımı bölüşmək istərdim.

Bu, avtomatik olaraq mətni 0,5 ölçüyə qədər çap etdirəcək və mətni vertikal şəkildə mərkəzləşdirəcək bir UILabel verəcəkdir. Bu seçimlər Storyboard / IB-də də mövcuddur.

 [labelObject setMinimumScaleFactor:0.5]; [labelObject setBaselineAdjustment:UIBaselineAdjustmentAlignCenters]; 
48
16 окт. David Greconun 16 oktyabrda cavabı 2012-10-16 19:38 '12 saat 7:38 pm 2012-10-16 19:38

Yeni bir sinif yaradın.

LabelTopAlign

.h fayl

 #import <UIKit/UIKit.h> @interface KwLabelTopAlign : UILabel { } @end 

.m fayl

 #import "KwLabelTopAlign.h" @implementation KwLabelTopAlign - (void)drawTextInRect:(CGRect)rect { int lineHeight = [@"IglL" sizeWithFont:self.font constrainedToSize:CGSizeMake(rect.size.width, 9999.0f)].height; if(rect.size.height >= lineHeight) { int textHeight = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(rect.size.width, rect.size.height)].height; int yMax = textHeight; if (self.numberOfLines > 0) { yMax = MIN(lineHeight*self.numberOfLines, yMax); } [super drawTextInRect:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, yMax)]; } } @end 

Change

Eyni şeyləri yerinə yetirən daha asan bir tətbiqdir:

 #import "KwLabelTopAlign.h" @implementation KwLabelTopAlign - (void)drawTextInRect:(CGRect)rect { CGFloat height = [self.text sizeWithFont:self.font constrainedToSize:rect.size lineBreakMode:self.lineBreakMode].height; if (self.numberOfLines != 0) { height = MIN(height, self.font.lineHeight * self.numberOfLines); } rect.size.height = MIN(rect.size.height, height); [super drawTextInRect:rect]; } @end 
42
04 авг. Sebastian Friedrich 04 aug verildi . 2011-08-04 11:07 '11 'da 11:07' da 2011-08-04 11:07

2019

38
03 янв. Cavab bearMountain Jan 03 tərəfindən verilir 2012-01-03 07:40 '12 at 7:40 2012-01-03 07:40

Storyboard həlli: ən asan və ən sadə yol StackView -də bir StackViewAxis StackView-i Horizontal , Alignment

2019

28 марта '17 в 14:27 2017-03-28 14:27 Cavab Baig tərəfindən 28 Mart 'da 14:27' də veriləcək 2017-03-28 14:27

UILabel alt sinfi yaradın. Bir cazibə kimi çalışır:

 // TopLeftLabel.h #import <Foundation/Foundation.h> @interface TopLeftLabel : UILabel { } @end // TopLeftLabel.m #import "TopLeftLabel.h" @implementation TopLeftLabel - (id)initWithFrame:(CGRect)frame { return [super initWithFrame:frame]; } - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines { CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines]; textRect.origin.y = bounds.origin.y; return textRect; } -(void)drawTextInRect:(CGRect)requestedRect { CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines]; [super drawTextInRect:actualRect]; } @end 

Burada müzakirə edildiyi kimi.

33
14 июля '11 в 17:33 2011-07-14 17:33 Cavab Martin Wickman tərəfindən 14 iyul 2011-ci ildə saat 17: 33-də verilmişdir

Adaptiv UI (iOS8 və ya daha sonra) üçün, UILabel'in şaquli hizalanması noOfLines = 0` xüsusiyyətlərini dəyişdirərək noOfLines dan təyin edilməlidir.

Məhdudiyyətlər

  • UILabel LefMargin, RightMargin və Top Margin məhdudiyyətlərinin düzəldilməsi.

  • Dəyişikliyə görə Content Compression Resistance Priority For Vertical dəyişdirin. Dikt = 1000, Dik üçün> Yatay.

2019

08 авг. Rabindra Nath Nandi tərəfindən verilmiş cavab 08 avqust. 2015-08-08 08:29 '15 'də saat 08:29' de

Bunu bacarmaq üçün kommunal funksiyası yazdım. Gördüyünüz kimi:

 // çox satırlı bir etiketin hündürlüyünü tənzimləmək + (boş) alignLabelWithTop: (UILabel *) etiket {   CGSize maxSize = CGSizeMake (label.frame.size.width, 999);   label.adjustsFontSizeToFitWidth = NO;   // həqiqi hündürlüyü əldə edin   CGSize actualSize = [label.text sizeWithFont: label.font constrainedToSize: maxSize lineBreakMode: label.lineBreakMode];   CGRect rect = etiket.frame;   rect.size.height = actualSize.height;   label.frame = rect; }

Necə istifadə etmək olar? (LblHello bir interfeys qurucusu tərəfindən yaradılmışdırsa, mən də UILabel xüsusiyyətlərinin bəzi atributlarını atlayıram.)

 lblHello.text = @ "Hello World! Salam Dünya! Hello World! Hello World! Salam Dünya! Salam Dünya! Salam Dünyam!"; lblHello.numberOfLines = 5; [Utils alignLabelWithTop: lblHello];

Mən də bloqumda bir məqalə yazdım: http://fstoke.me/blog/?p=2819

27
23 мая '11 в 11:16 2011-05-23 11:16 cavab mayın 23-də saat 11: 11-də verilir. 2011-05-23 11:16

Kodun oxunması üçün bir az vaxt ayırdım və girilmiş səhifənin kodunu yazdım və bunların hamısı etiket çərçivəsinin ölçüsünü dəyişdirməyə çalışdıqlarını gördük ki, mərkəzi vertikal hizalanma default olaraq görünmür.

Lakin, bəzi hallarda, etiketin bütün mətnləri (məsələn, eyni hündürlüyə malik bir neçə xətt) olsa belə, bu boşluqları doldurmasını istəyirik.

Burada həll etmək üçün alternativ bir yol istifadə etdim, sadəcə etiketin sonuna yeni xətləri əlavə etməklə ( UILabel miras UILabel , lakin bu lazım deyil) qeyd edin:

 CGSize fontSize = [self.text sizeWithFont:self.font]; finalHeight = fontSize.height * self.numberOfLines; finalWidth = size.width; //expected width of label CGSize theStringSize = [self.text sizeWithFont:self.font constrainedToSize:CGSizeMake(finalWidth, finalHeight) lineBreakMode:self.lineBreakMode]; int newLinesToPad = (finalHeight - theStringSize.height) / fontSize.height; for(int i = 0; i < newLinesToPad; i++) { self.text = [self.text stringByAppendingString:@"\n "]; } 
25
30 янв. Cavab 30 yanvar Waled Yeung tərəfindən verilir 2010-01-30 09:32 '10 at 9:32 2010-01-30 09:32

Mən bu cəzaları üstün tutdum və UILabel'i kəsə və onun ölçüsü ola biləcək bir görünüş yaratdım və üstə uyğun olaraq xətlərin sayını təyin etdim. Yalnız UILabel-ə altyazı qoyun:

 @interface TopAlignedLabelContainer : UIView { } @end @implementation TopAlignedLabelContainer - (void)layoutSubviews { CGRect bounds = self.bounds; for (UILabel *label in [self subviews]) { if ([label isKindOfClass:[UILabel class]]) { CGSize fontSize = [label.text sizeWithFont:label.font]; CGSize textSize = [label.text sizeWithFont:label.font constrainedToSize:bounds.size lineBreakMode:label.lineBreakMode]; label.numberOfLines = textSize.height / fontSize.height; label.frame = CGRectMake(0, 0, textSize.width, fontSize.height * label.numberOfLines); } } } @end 
18
14 дек. Cavab 1447 saylı istifadəçi tərəfindən verilmişdir. 2010-12-14 04:27 '10 at 4:27 2010-12-14 04:27

TTTAttributedLabel-dan istifadə edə bilərsiniz, şaquli hizalamanı dəstəkləyir.

 @property (nonatomic) TTTAttributedLabel* label; <...> //view or viewController init method _label.verticalAlignment = TTTAttributedLabelVerticalAlignmentTop; 
16
28 авг. Cavab Andrew Romanova 28 avqustda verilir. 2014-08-28 11:50 '14 'da 11:50 2014-08-28 11:50

Bu sualın cavablarını indi bir az köhnəlmiş tapdım, buna görə də orada avtomobil istehsalçıları üçün əlavə olundu.

Avtomatik yerləşdirmə bu çətin bir problemdir. Bir UIView *view bir etiket əlavə edəcəyimizi fərz etsək, aşağıdakı kod bunu edəcək:

 UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; [label setText:@"Some text here"]; [label setTranslatesAutoresizingMaskIntoConstraints:NO]; [view addSubview:label]; [view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[label]|" options:0 metrics:nil views:@{@"label": label}]]; [view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[label]" options:0 metrics:nil views:@{@"label": label}]]; 

Etiketin hündürlüyü avtomatik olaraq hesablanır ( intrinsicContentSize istifadə edərək) və etiket üst tərəfdən kənardan kənara qədər, yuxarı hissədə yerləşəcəkdir.

14
29 апр. petehare tərəfindən verilmiş cavab Apr 29 2014-04-29 04:21 '14 at 04:21 2014-04-29 04:21

Yuxarıda göstərilən üsullardan çox istifadə etdim və istifadə etdiyim tez və çirkli bir yanaşma əlavə etmək istəyirəm:

 myLabel.text = [NSString stringWithFormat:@"%@\n\n\n\n\n\n\n\n\n",@"My label text string"]; 

Satırdakı xətlərin sayının hər hansı bir mətnə ​​mövcud şaquli məkanı doldurmasına və UILabel-in hər hansı daşma metnini düzəldəcəyinə əmin olun.

Çünki bəzən kifayət qədər yaxşıdır.

14
18 сент. Cavab Roadie 18 sep verilir. 2012-09-18 18:59 '12 at 18:59 'da 2012-09-18 18:59

FXLabel (github üzrə) bunu label.contentMode UIViewContentModeTop label.contentMode . Bu komponent mənim tərəfindən deyil, amma tez-tez istifadə etdiyim və çox funksiyaları olan bir komponentdir və yaxşı işləyirəm.

13
27 сент. jjxtra cavab 27 sep . 2013-09-27 18:35 '13 'da 18:35' də 2013-09-27 18:35 'da

Çox satır xətləri, ən azı font ölçüsü ola biləcək bir etiketə sahib olmaq istəmişəm və mənim valideynlərimdə yatay və dikey olaraq mərkəzləşdirilməlidir. Proqram kodunu nəzərə aldım:

 - (void) customInit { // Setup label self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; self.label.numberOfLines = 0; self.label.lineBreakMode = UILineBreakModeWordWrap; self.label.textAlignment = UITextAlignmentCenter; // Add the label as a subview self.autoresizesSubviews = YES; [self addSubview:self.label]; } 

Və sonra, etiketimin mətni dəyişdirmək istədikdə ...

 - (void) updateDisplay:(NSString *)text { if (![text isEqualToString:self.label.text]) { // Calculate the font size to use (save to label font) CGSize textConstrainedSize = CGSizeMake(self.frame.size.width, INT_MAX); self.label.font = [UIFont systemFontOfSize:TICKER_FONT_SIZE]; CGSize textSize = [text sizeWithFont:self.label.font constrainedToSize:textConstrainedSize]; while (textSize.height > self.frame.size.height  self.label.font.pointSize > TICKER_MINIMUM_FONT_SIZE) { self.label.font = [UIFont systemFontOfSize:self.label.font.pointSize-1]; textSize = [ticker.blurb sizeWithFont:self.label.font constrainedToSize:textConstrainedSize]; } // In cases where the frame is still too large (when we're exceeding minimum font size), // use the views size if (textSize.height > self.frame.size.height) { textSize = [text sizeWithFont:self.label.font constrainedToSize:self.frame.size]; } // Draw self.label.frame = CGRectMake(0, self.frame.size.height/2 - textSize.height/2, self.frame.size.width, textSize.height); self.label.text = text; } [self setNeedsDisplay]; } 

Bu birinə kömək edir!

13
14 сент. cavab johnus 14 sep tərəfindən verilir . 2010-09-14 04:14 '10 at 4:14 2010-09-14 04:14

Etiketinizin içindəki mətnin şaquli bir istiqamətə malik olmadığı üçün yazı yazan hər kəs üçün, bəzi növ fontların eyni şəkildə dizayn edilmədiyini unutmayın. Misal üçün, zapfino ölçüsü 16 olan bir etiket yaratsanız, mətnin dikey olaraq mükəmməl olmadığını görürsünüz.

Lakin, helvetica ilə işləməyiniz mətnin mərkəzinə dik olacaq.

11
01 марта '11 в 3:09 2011-03-01 03:09 cavab Nir Pengas tərəfindən 01.03.2011 tarixində 3:09, 2011-03-01 03:09

Autorun istifadə edirsinizsə, HuggingPriority 1000-in şaquli məzmununu kodda və ya IB-də seçin. İB-də, prioriteti 1-ə təyin etmək və sonra çıxarmaqla hündürlüyün məhdudiyyətini aradan qaldırmağa ehtiyacınız ola bilər.

10
05 сент. Cavab phatmann tərəfindən verilir 05 Sep. 2013-09-05 19:38 '13 saat 19:38 'da 2013-09-05 19:38

Alt sinif UILabel və rəsm düzbucağını məhdudlaşdırmaq, məsələn:

 - (void)drawTextInRect:(CGRect)rect { CGSize sizeThatFits = [self sizeThatFits:rect.size]; rect.size.height = MIN(rect.size.height, sizeThatFits.height); [super drawTextInRect:rect]; } 

Mən həll yolunu yeni bir xətt əlavə etməklə və bəzi hallarda yanlış davranışla qarşı-qarşıya qoyduq. Təcrübəmdə, numberOfLines ilə qarışıqlıqdan daha yüksək bir düzbucaqlı rəsmləri məhdudlaşdırmaq daha asandır.

PS UIViewContentMode dəstəyi aşağıdakı kimi asanlıqla təsəvvür edə bilərsiniz:

 - (void)drawTextInRect:(CGRect)rect { CGSize sizeThatFits = [self sizeThatFits:rect.size]; if (self.contentMode == UIViewContentModeTop) { rect.size.height = MIN(rect.size.height, sizeThatFits.height); } else if (self.contentMode == UIViewContentModeBottom) { rect.origin.y = MAX(0, rect.size.height - sizeThatFits.height); rect.size.height = MIN(rect.size.height, sizeThatFits.height); } [super drawTextInRect:rect]; } 
10
03 июля '12 в 18:49 2012-07-03 18:49 Cavab 03 İyul 2012-ci il tarixdə saat 18:49 -da jrc tərəfindən verilmişdir. 2012-07-03 18:49

Kompleks bir işi tamamlamadığınız müddətcə, UITextView əvəzinə UITextView istifadə edə bilərsiniz.

Kaydırmayı söndürün.

Если вы хотите, чтобы текст отображался полностью как пользовательские методы sizeToFit и sizeThatFits:

7
ответ дан thesummersign 12 марта '12 в 21:37 2012-03-12 21:37