欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示

這篇文章主要為大家展示了“iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示”這篇文章吧。

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計,鹿泉網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鹿泉等地區(qū)。鹿泉做網(wǎng)站價格咨詢:028-86922220

iOS中UILabel設(shè)置居上對齊、居中對齊、居下對齊

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

具體如下:

// 
// 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 讓文字置頂顯示

我們經(jīng)常會遇到將Label中文字置頂,也就是將文字頂?shù)絃able框的最頂端顯示的需求,UILabel是無法對內(nèi)容文字進(jìn)行置頂處理的,所以,如果我們不對Label加以額外的設(shè)置,就會出現(xiàn)如下情況:

iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示

置頂前

解決辦法:我們可以通過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];  
 //讓內(nèi)容置頂
 [label sizeToFit];
 [self.view addSubview:label];
}

效果圖:

iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示

置頂后

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

iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示

置頂前后frame對比

我們可以看到,文字內(nèi)容置頂后,原Label的origin幾乎沒有變化,而bounds適應(yīng)了文字,大小改變了。
所以不難看出,通過sizeToFit方法,我們可以將Label的大小“剛好”緊貼文字外部,從而實現(xiàn)了置頂?shù)男Ч?/p>

以上是“iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:iOS中UILabel如何設(shè)置居上對齊、居中對齊、居下對齊及文字置頂顯示
文章鏈接:http://aaarwkj.com/article6/jjppig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、商城網(wǎng)站品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
久久综合亚洲鲁鲁五月天| 亚洲一区二区四区乱码在线| 国产av手机自拍看片| 精品一区二区三区乱码中文| 一个人看的视频天堂色| 日本加勒比在线播放一区| 日韩精品a区二区在线电影| 99久久免费看国产精品| 精品国产精品中文字幕| 国产精品一区巨乳人妻| 国产一区二区在线粉嫩| 日本九州不卡久久精品一区| 日日躁夜夜躁狠狠躁黑人| 日日夜夜久久国产精品| 国产成人av中文字暮在线| 成人在线视频国产自拍| 亚洲综合色婷婷在线影院| 久亚洲精品九九久久99| 乱码人妻精品一区二区三区| 日本一道二区三区我不卡| 免费人成黄页网站在线播放国产| 无人码人妻一区二区三区免| 插美女逼免费视频导航| 国产精品黄黄久久久免费| 九七青青草视频在线观看| 午夜精品久久久免费视频| 日韩一二区不卡在线视频| 乱熟av一区二区三区| 久久91亚洲精品中文字幕| 色婷婷激一区二区三区| 国产l精品国产亚洲区久久 | 久久激情日本人妻av免费| 亚洲国产第一尤物视频| 四虎在线观看最新入口| 少妇激情一区二区三区免费视频| 日韩欧美精品视频一区| 岛国毛片在线免费播放| 丰满少妇诱惑在线观看| av久久精品在线观看| 精品国产一区二区成人| 老熟妇仑乱换频一区二区|