亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中UILabel設置居上對齊、居中對齊、居下對齊及文字置頂顯示

2019-10-21 18:42:59
字體:
來源:轉載
供稿:網友

iOS中UILabel設置居上對齊、居中對齊、居下對齊

在iOS中默認的UILabel中的文字在豎直方向上只能居中對齊,博主參考國外網站,從UILabel繼承了一個新類,實現了居上對齊,居中對齊,居下對齊。

具體如下:

// // myUILabel.h // // // Created by yexiaozi_007 on 3/4/13. // Copyright (c) 2013 yexiaozi_007. All rights reserved. // #import <UIKit/UIKit.h> typedef enum {  VerticalAlignmentTop = 0, // default  VerticalAlignmentMiddle,  VerticalAlignmentBottom, } VerticalAlignment; @interface myUILabel : UILabel { @private VerticalAlignment _verticalAlignment; } @property (nonatomic) VerticalAlignment verticalAlignment; @end 
// // myUILabel.m // // // Created by yexiaozi_007 on 3/4/13. // Copyright (c) 2013 yexiaozi_007. All rights reserved. // #import "myUILabel.h" @implementation myUILabel @synthesize verticalAlignment = verticalAlignment_;  - (id)initWithFrame:(CGRect)frame {  if (self = [super initWithFrame:frame]) {  self.verticalAlignment = VerticalAlignmentMiddle;  }  return self; } - (void)setVerticalAlignment:(VerticalAlignment)verticalAlignment {  verticalAlignment_ = verticalAlignment;  [self setNeedsDisplay]; } - (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {  CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];  switch (self.verticalAlignment) {  case VerticalAlignmentTop:   textRect.origin.y = bounds.origin.y;   break;  case VerticalAlignmentBottom:   textRect.origin.y = bounds.origin.y + bounds.size.height - textRect.size.height;   break;  case VerticalAlignmentMiddle:   // Fall through.  default:   textRect.origin.y = bounds.origin.y + (bounds.size.height - textRect.size.height) / 2.0;  }  return textRect; } -(void)drawTextInRect:(CGRect)requestedRect {  CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines];  [super drawTextInRect:actualRect]; } @end 

在使用時:

lbl_mylabel = [[myUILabel alloc] initWithFrame:CGRectMake(20, 50, 150, 600)]; UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"halfTransparent.png"]];//使用半透明圖片作為label的背景色 lbl_mylabel.backgroundColor = color; lbl_mylabel.textAlignment = UITextAlignmentLeft; lbl_mylabel.textColor = UIColor.whiteColor; lbl_mylabel.lineBreakMode = UILineBreakModeWordWrap; lbl_mylabel.numberOfLines = 0; [lbl_mylabel setVerticalAlignment:VerticalAlignmentTop]; [self addSubview:lbl_mylabel]; 

UILabel 讓文字置頂顯示

我們經常會遇到將Label中文字置頂,也就是將文字頂到Lable框的最頂端顯示的需求,UILabel是無法對內容文字進行置頂處理的,所以,如果我們不對Label加以額外的設置,就會出現如下情況:

ios,uilabel,對齊方式,左上對齊,文字置頂

置頂前

解決辦法:我們可以通過sizeToFit方法解決它:

- (void)viewDidLoad { [super viewDidLoad]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake((self.view.bounds.size.width - 200)/2, 100, 200, 150)]; label.backgroundColor = [UIColor yellowColor]; NSString *labelText = @"我不知道如何置頂,誰來告訴我?"; [label setText:labelText]; [label setNumberOfLines:0];   //讓內容置頂 [label sizeToFit]; [self.view addSubview:label];}

效果圖:

ios,uilabel,對齊方式,左上對齊,文字置頂

置頂后

但是有些小伙伴會對內容置頂后的Label的frame有些顧慮,筆者也有,所以就在Label后方放置了一個和初始Label具有相同frame的紅色背景,那么如果設置sizeToFit方法后,即使Label的frame有變化,我們也可以通過和紅色背景的frame相對比而看出:

ios,uilabel,對齊方式,左上對齊,文字置頂

置頂前后frame對比

我們可以看到,文字內容置頂后,原Label的origin幾乎沒有變化,而bounds適應了文字,大小改變了。
所以不難看出,通過sizeToFit方法,我們可以將Label的大小“剛好”緊貼文字外部,從而實現了置頂的效果。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影免费观看高清完整版| 欧美日韩国产在线播放| 伊人久久综合97精品| 国产精品视频一区国模私拍| 日韩欧美国产成人| 国产精品久久久久久久久免费| 成人在线播放av| 琪琪第一精品导航| 欧美精品在线免费观看| 欧美成人精品影院| 色综合久久中文字幕综合网小说| 国产精品久久国产精品99gif| 亚洲精品综合精品自拍| 久久久97精品| 日韩中文字幕免费| 伊人精品在线观看| 伊人成人开心激情综合网| 日韩精品视频中文在线观看| 日韩最新在线视频| 亚洲免费人成在线视频观看| 欧美午夜女人视频在线| 欧美午夜精品久久久久久久| 亚洲成人黄色网| 欧美电影免费播放| 国产成人精品a视频一区www| 亚洲成人av在线播放| 日韩在线观看av| 欧美一级在线亚洲天堂| 亚洲国产精品成人av| 91av网站在线播放| 亚洲最大的av网站| 日韩一区二区欧美| 日韩精品视频中文在线观看| 国产精品一二三在线| 91国自产精品中文字幕亚洲| 69av视频在线播放| 亚洲a级在线观看| 国产精品视频1区| 久久久999国产| 精品一区二区三区三区| 91在线高清免费观看| 91社影院在线观看| 国产欧美日韩中文字幕| 亚洲欧美综合区自拍另类| 国产精品va在线播放| 亚洲视频视频在线| 5278欧美一区二区三区| 欧洲精品毛片网站| 亚洲男子天堂网| 欧美性猛交xxxx免费看漫画| 91精品国产成人| 国产精品视频在线观看| 亚洲欧美另类自拍| 欧美日韩亚洲成人| 深夜福利亚洲导航| 久久亚洲精品视频| 精品亚洲一区二区三区四区五区| 尤物yw午夜国产精品视频明星| 日韩中文在线中文网在线观看| 一夜七次郎国产精品亚洲| 亚洲精品成人网| 亚洲影影院av| 欧洲精品毛片网站| 久久久在线观看| 5278欧美一区二区三区| 国产aⅴ夜夜欢一区二区三区| 欧美性猛交xxxx乱大交3| 亚洲男人天堂古典| www国产亚洲精品久久网站| 亚洲有声小说3d| 97视频在线观看免费| 久久资源免费视频| 欧美在线免费观看| 一区二区三区视频免费| 91av在线精品| www.久久色.com| 午夜精品视频在线| 5278欧美一区二区三区| 日韩欧美在线免费观看| 国产日韩精品在线观看| 欧美日韩国产丝袜美女| 久久国产精品久久国产精品| 在线播放精品一区二区三区| 欧美电影免费观看高清完整| 57pao成人国产永久免费| 成人福利视频在线观看| 久久精品国产91精品亚洲| 精品久久久久久久久久久久久久| 久久精品亚洲94久久精品| 国产一区二区三区在线视频| 亚洲国产另类久久精品| 亚洲韩国欧洲国产日产av| 91亚洲国产成人久久精品网站| 国内精品久久久久久| 国产精品久久久久999| 久久久精品免费| 亚洲精品美女视频| 成人国产精品一区二区| 国产精品久久久久7777婷婷| 亚洲欧洲在线播放| 97久久伊人激情网| 亚洲free嫩bbb| 亚洲精品国产suv| 亚洲变态欧美另类捆绑| 欧美一区深夜视频| 国产一区二区精品丝袜| 国产精品三级久久久久久电影| 成人在线视频网| 欧美成人精品h版在线观看| 国内成人精品一区| 九九热视频这里只有精品| 国产99在线|中文| 日韩在线视频观看| 色综合伊人色综合网站| 国产精品狼人色视频一区| 国产午夜精品美女视频明星a级| 欧美巨猛xxxx猛交黑人97人| 国产一区二区三区久久精品| 国产精品美女午夜av| 亚洲综合视频1区| 亚洲色图13p| 久久久久久国产精品久久| 日韩女优人人人人射在线视频| 国产精品av免费在线观看| 久久露脸国产精品| 亚洲激情第一页| 欧美激情精品久久久久久黑人| 亚洲丁香婷深爱综合| 97精品视频在线| 欧美老女人在线视频| 欧美午夜精品在线| 欧美在线一区二区视频| 欧美伊久线香蕉线新在线| 色与欲影视天天看综合网| 久久久久亚洲精品国产| 色先锋资源久久综合5566| 国产精品永久免费| 国产精品日韩欧美综合| 久久久av一区| 国产性色av一区二区| 成人乱人伦精品视频在线观看| 国产亚洲精品久久| 欧美一级黄色网| 狠狠色噜噜狠狠狠狠97| 久久久久中文字幕2018| 色综合久久久久久中文网| 日韩av在线免费| 亚洲va欧美va国产综合久久| 色婷婷亚洲mv天堂mv在影片| 亚洲欧美综合精品久久成人| 国产91在线播放九色快色| 国产97在线亚洲| 91精品啪aⅴ在线观看国产| 欧美一区二区视频97| 亚洲美女喷白浆| 亚洲精品美女免费| 亚洲欧美中文日韩v在线观看| 久久国产精品久久精品| 欧美成人激情视频免费观看| 欧美电影免费观看高清完整| 久久久亚洲天堂| 久久久91精品| 国产精品成人免费电影| 日韩av在线一区二区|