UILabel 上下左右對齊

2021-06-27 05:53:22 字數 1668 閱讀 4090

在ios中預設的uilabel中的文字在豎直方向上只能居中對齊,博主參考國外**,從uilabel繼承了乙個新類,實現了居上對齊,居中對齊,居下對齊。具體如下:

[cpp]view plain

copy

////  myuilabel.h

//  

////  created by yexiaozi_007 on 3/4/13.

//#import 

typedef

enum

verticalalignment;  

@inte***ce myuilabel : uilabel  

@property (nonatomic) verticalalignment verticalalignment;  

@end  

[cpp]view plain

copy

////  myuilabel.m

//  

////  created by yexiaozi_007 on 3/4/13.

//#import "myuilabel.h"

@implementation myuilabel  

@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  

在使用時:

[cpp]view plain

copy

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]; 

文字左右對齊

leetcode 給定乙個單詞陣列和乙個長度 maxwidth,重新排版單詞,使其成為每行恰好有 maxwidth 個字元,且左右兩端對齊的文字。你應該使用 貪心演算法 來放置給定的單詞 也就是說,盡可能多地往每行中放置單詞。必要時可用空格 填充,使得每行恰好有 maxwidth 個字元。要求盡可能...

整段文字左右對齊

text align justify text justify inter ideograph text justify版本 ie5 專有屬性 繼承性 無 語法 text justify auto distribute distribute all lines distribute center l...

css div上下左右居中

通常我們用到的css布局都是左右居中,經典css寫法如下 body div 上面是經典的左右居中的css寫法,那麼像登入框那些比較小得div塊只是左右居中是否不是太美觀,如果上下左右都居中這是 body div上面的margin可以合併 margin 250px 0 0 250px 大概原理就是 布...