平時開發的時候可能會遇到這種問題:當乙個uilabel的frame的高度設定的過大時,發現uilabel是垂直居中的,有的需求是需要將這個label垂直向上顯示,之前的辦法是計算出label.text的字型所占用的frame大小,根據這個大小再重新設定label的frame值,未免有些麻煩,前陣子封裝了個自定義label實現的垂直居中的設定。廢話不多說,上**。
//
// jflabel.h
//// created by japho on 16/2/25.
//#import typedef enum
verticalalignment;
@inte***ce jflabel : uilabel
@property (nonatomic) verticalalignment verticalalignment;
@end
//
// jflabel.m
//// created by japho on 16/2/25.
//#import "jflabel.h"
@implementation jflabel
@synthesize verticalalignment = verticalalignment_;
- (id)initwithframe:(cgrect)frame
return self;
}- (void)setverticalalignment:(verticalalignment)verticalalignment
- (cgrect)textrectforbounds:(cgrect)bounds limitedtonumberoflines:(nsinteger)numberoflines
return textrect;
}-(void)drawtextinrect:(cgrect)requestedrect
@end
封裝的類繼承自uilabel,需要設定垂直居中時直接設定屬性就可以了。
呼叫示例**:
- (jflabel *)titlelabel
return _titlelabel;
}
iOS UILabel垂直對齊(上居中)
專案中顯示文字資訊的時候,大多使用label。但是當文字量比較小的時候,我們定義label.frame較大,這時候文字會自動上下居中顯示,不符合我們的要求,並且uilabel也沒有提供相應的屬性或者方法來滿足我們的要求。為了滿足需求,我之前的方法都是計算文字的長度,然後再設定label的frame。...
css 水平居中 垂直居中 水平垂直居中
一 水平居中 1 行內元素水平居中text align center 2 塊級元素水平居中margin 0 auto 3 多個塊狀元素的水平居中 實現多個水平排列的塊狀元素的水平居中,是將要水平排列的塊狀元素設為display inline block,然後在父級元素上設定text align ce...
css水平居中 垂直居中 水平垂直居中
css水平居中 垂直居中 水平垂直居中 水平居中 行內元素 block text align 塊級元素 方案一 分寬度定不定兩種情況 定寬度 margin 0 auto 作用 使盒子自己居中,意思是上下距離為0,auto就是左右自適應兩邊距離 不定寬度 設定子元素display inline blo...