让 UILabel 垂直方向顶端对齐的代码
来源:互联网 发布:宁波网络销售 编辑:程序博客网 时间:2024/05/16 17:56
UILabel 里放入多行文字,会发现 label 默认居中对齐,很不符合左对齐的传统习惯,下面这段 CocoaChina 版主“angellixf”分享的代码可以让 UILabel 以垂直方向顶端对齐,也就是我们常说的左对齐或右对齐
//
// VerticallyAlignedLabel.h
//
#import <Foundation/Foundation.h>
typedef enum VerticalAlignment {
VerticalAlignmentTop,
VerticalAlignmentMiddle,
VerticalAlignmentBottom,
} VerticalAlignment;
@interface VerticallyAlignedLabel : UILabel {
@private
VerticalAlignment verticalAlignment_;
}
@property (nonatomic, assign) VerticalAlignment verticalAlignment;
@end
//
// VerticallyAlignedLabel.m
//
#import "VerticallyAlignedLabel.h"
@implementation VerticallyAlignedLabel
@synthesize verticalAlignment = verticalAlignment_;
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
self.verticalAlignment = VerticalAlignmentMiddle;
}
return self;
}
- (void)setVerticalAlignment:(VerticalAlignment)verticalAlignment {
verticalAlignment_ = verticalAlignment;
[self setNeedsDisplay];
}
- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines {
CGRect textRect = [super textRectForBounds:bounds limitedToNumberOfLines:numberOfLines];
switch (self.verticalAlignment) {
case VerticalAlignmentTop:
textRect.origin.y = bounds.origin.y;
break;
case VerticalAlignmentBottom:
textRect.origin.y = bounds.origin.y + bounds.size.height - textRect.size.height;
break;
case VerticalAlignmentMiddle:
// Fall through.
default:
textRect.origin.y = bounds.origin.y + (bounds.size.height - textRect.size.height) / 2.0;
}
return textRect;
}
-(void)drawTextInRect:(CGRect)requestedRect {
CGRect actualRect = [self textRectForBounds:requestedRect limitedToNumberOfLines:self.numberOfLines];
[super drawTextInRect:actualRect];
}
@end
- 让 UILabel 垂直方向顶端对齐的代码
- 让 UILabel 垂直方向顶端对齐的代码
- 让UILabel垂直方向顶端对齐
- iOS开发之----让UILabel 垂直方向顶端对齐的代码
- IOS开发之----让UILabel 垂直方向顶端对齐的代码
- UILabel 垂直方向顶端对齐
- 分享一个可垂直顶端对齐的UILabel
- UILabel顶端对齐
- UILabel顶端对齐
- UILabel顶端对齐
- UILabel顶端对齐
- UIlabel顶端对齐
- [爆栈热门 iOS 问题] 让 UILabel 顶端对齐
- [爆栈热门 iOS 问题] 让 UILabel 顶端对齐
- UILabel中的文字顶端对齐
- UILabel文字的顶端显示代码,以及自动换行代码
- iOS开发UILabel顶端对齐方式
- uilabel 多行显示时顶端对齐
- STL系列之五 priority_queue 优先队列
- VC中实现单文档切换多视图的方法
- 检查获得的消息 当某个操作没有得到要求时,可以取消这次消息
- 当程序到改变到指定大小时,禁止再改变起大小
- SQL中遇到多条相同内容只取一条的最简单实现
- 让 UILabel 垂直方向顶端对齐的代码
- 如何去掉字符串最外层的双引号,使其变成数组.
- Tokyo Cabinet TC 源码学习笔记
- 只使程序只运行一次
- RDLC打印
- NoSQL数据库:MongoDB初探
- 用PDB库调试Python程序
- Android之开发常用颜色
- java框架整合错误:org.hibernate.AnnotationException: No identifier specified for entity