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

首頁 > 系統 > iOS > 正文

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

2020-07-26 02:35:11
字體:
來源:轉載
供稿:網友

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加以額外的設置,就會出現如下情況:

置頂前

解決辦法:我們可以通過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];}

效果圖:

置頂后

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

置頂前后frame對比

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产69精品久久久久9| 亚洲国产日韩欧美在线99| 国产精品69精品一区二区三区| 亚洲激情国产精品| 亚洲福利精品在线| 久久夜精品香蕉| 欧美日韩国产影院| 欧美黄色性视频| 日本不卡视频在线播放| 色综合久久88| 欧美高清性猛交| 色偷偷偷亚洲综合网另类| 国产精品久久久久99| 黑人巨大精品欧美一区二区| 成人免费网视频| 日韩综合中文字幕| 国产一区二区三区久久精品| 国模精品一区二区三区色天香| 国产午夜精品久久久| 亚洲aⅴ男人的天堂在线观看| 亚洲成av人影院在线观看| 色综合久久精品亚洲国产| 国产精品美女久久| 久久精品免费电影| 久久精品国产亚洲精品| 国产一区二区视频在线观看| 欧美性猛交xxxx乱大交极品| 51精品在线观看| 69**夜色精品国产69乱| 91在线观看免费网站| 日韩在线视频中文字幕| 久久久久久香蕉网| 狠狠操狠狠色综合网| 欧美疯狂xxxx大交乱88av| 日韩中文字幕久久| 精品一区二区三区电影| 久久大大胆人体| 一本久久综合亚洲鲁鲁| 国产成人精品在线视频| 97在线免费视频| 91精品国产电影| 亚洲国产日韩欧美在线动漫| 欧美影院在线播放| 91九色国产社区在线观看| 精品无码久久久久久国产| 欧美www视频在线观看| 国产精品扒开腿做爽爽爽男男| 91手机视频在线观看| 亚洲综合第一页| 久久午夜a级毛片| 欧美专区日韩视频| 色多多国产成人永久免费网站| 国外日韩电影在线观看| 欧美理论在线观看| 92裸体在线视频网站| 欧美二区乱c黑人| 欧美精品www在线观看| 亚洲无亚洲人成网站77777| 亚洲综合av影视| 日韩欧美亚洲成人| 一区二区三欧美| 国产午夜一区二区| 日本亚洲欧洲色| 91在线精品播放| 精品久久久国产精品999| 中文字幕成人精品久久不卡| 亚洲第五色综合网| 亚洲美女精品久久| 亚洲视频电影图片偷拍一区| 精品一区二区三区三区| 欧美精品免费在线观看| 色悠悠久久88| 亚洲精品免费一区二区三区| 国产成人高潮免费观看精品| 蜜臀久久99精品久久久无需会员| 九九热精品视频国产| 6080yy精品一区二区三区| 国产精品狠色婷| 国内自拍欧美激情| 5566日本婷婷色中文字幕97| 国产精品6699| 欧美精品videosex牲欧美| 欧美电影《睫毛膏》| 精品国产成人av| 亚洲另类激情图| 日本一区二区在线免费播放| 日韩av在线资源| 国产精品黄色影片导航在线观看| 精品国产精品三级精品av网址| 久久久精品一区二区三区| 国模视频一区二区三区| 亚洲一区二区三区毛片| 亚洲天堂av图片| www亚洲精品| 91在线观看免费网站| 国产精品高精视频免费| 岛国av在线不卡| 亚洲自拍欧美另类| 国内精品久久久久影院 日本资源| 亚洲国产精品久久91精品| 日韩中文字幕免费视频| 欧美黑人性生活视频| 国产精品久久电影观看| 91国自产精品中文字幕亚洲| 亚洲精品网址在线观看| 欧美色欧美亚洲高清在线视频| 欧美专区在线视频| 在线日韩中文字幕| 久久久久久97| 欧美理论电影在线观看| 啪一啪鲁一鲁2019在线视频| 亚洲最大成人网色| 日韩在线视频网| 欧美午夜视频一区二区| 亚洲伊人成综合成人网| 在线视频免费一区二区| 欧美日韩亚洲国产一区| 久久五月天色综合| 色偷偷88888欧美精品久久久| 欧美—级a级欧美特级ar全黄| 精品偷拍一区二区三区在线看| 国产主播喷水一区二区| 国产美女久久精品香蕉69| 亚洲香蕉成视频在线观看| 不卡中文字幕av| 国产精品一区二区久久久久| 黑人欧美xxxx| 欧美极品欧美精品欧美视频| 国产精品网红福利| 色综合色综合网色综合| 日韩欧美在线视频观看| 国产脚交av在线一区二区| 欧美电影免费看| 国产精品免费久久久久久| 奇米一区二区三区四区久久| 精品亚洲精品福利线在观看| 91久久精品日日躁夜夜躁国产| 97碰碰碰免费色视频| 日本一区二三区好的精华液| 久久综合伊人77777尤物| 久久香蕉精品香蕉| 日韩成人中文字幕在线观看| 在线免费看av不卡| 91高清视频免费| 4p变态网欧美系列| 国产欧美日韩中文字幕| 91亚洲国产成人久久精品网站| 日本亚洲欧美成人| 欧美日韩精品在线视频| 欧美一级大胆视频| 1769国内精品视频在线播放| 91香蕉国产在线观看| 久久精品视频免费播放| 88xx成人精品| 国产精品一香蕉国产线看观看| 国产欧美日韩91| 中国china体内裑精亚洲片| 久久777国产线看观看精品| 国产精品福利网| 91亚洲国产成人久久精品网站| 少妇精69xxtheporn| 色先锋资源久久综合5566| 亚洲无限av看| 日韩在线免费观看视频|