iOS UILabel垂直對齊(上居中)

2021-09-11 15:30:53 字數 1158 閱讀 8501

專案中顯示文字資訊的時候,大多使用label。但是當文字量比較小的時候,我們定義label.frame較大,這時候文字會自動上下居中顯示,不符合我們的要求,並且uilabel也沒有提供相應的屬性或者方法來滿足我們的要求。為了滿足需求,我之前的方法都是計算文字的長度,然後再設定label的frame。後來看到了一篇文章,實現了label的上居中。自己實現了一下,基本滿足的需求,下面就是實現乙個簡單的垂直居中的label。

yxlabel.h

#import 

typedef ns_enum (nsinteger ,verticalalignment);

//繼承uilabel

@inte***ce yxlabel : uilabel

//垂直居中屬性

@property (nonatomic,assign)verticalalignment verticalalignment;

@end

複製**

yxlabel.m

#import "yxlabel.h"

@implementation yxlabel

-(instancetype)initwithframe:(cgrect)frame

return self;

}/**

* 設定屬性方法

* * @param verticalalignment 垂直調整位置

*/-(void)setverticalalignment:(verticalalignment)verticalalignment

/** * 計算文字的矩形區域

* * @param bounds label矩形區域

* @param numberoflines 行數

* * @return 返回文字所佔的矩形區域

*/-(cgrect)textrectforbounds:(cgrect)bounds limitedtonumberoflines:(nsinteger)numberoflines

return textrect;

}//重寫父類方法

-(void)drawtextinrect:(cgrect)rect

複製**

div垂直對齊

今天在除錯頁面的時候發現div不支援vertical align。查詢了一下,可以通過下面解決。lorem ipsum dolor sit amet,consectetuer adipiscing elit.etiam tincidunt,sapien sit amet semper molesti...

css垂直對齊

在css中,行框的高度總是足以容納它包含的所有行內級框,當乙個行內級框 b 的高度小於包含它的行框高度時,則由 vertical align屬性 來決定b在行框中垂直對齊的位置。因此,vertical align屬性只對行內級元素有效,對塊級元素無效。並且,該屬性不能被子元素繼承。在垂直對齊時,行內...

垂直對齊vertical align

body img src 顯示和隱藏 tu.png alt 和文字是預設基線 baseline 對齊,這樣會導致下方出現3px的空隙,解決方法是使用其他的對齊方式,比如middle,top等等,vertical align大多是行內塊和文字的對齊方式,比如img和input body 1 和文字是預...