在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 大概原理就是 布...