專案中顯示文字資訊的時候,大多使用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 和文字是預...