首页 > 其他 > 详细

UILabel+Create

时间:2014-11-06 19:52:05      阅读:159      评论:0      收藏:0      [点我收藏+]
#import <UIKit/UIKit.h>

@interface UILabel (Create)

/**
 *  创建普通Label
 *
 *  @param frame          frame
 *  @param text           text
 *  @param font           font
 *  @param textColor      textColor
 *  @param backgroudColor backgroudColor
 *  @param textAlignment  textAlignment
 *
 *  @return UILabel
 */
+ (UILabel *)createLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor  textAlignment:(NSTextAlignment)textAlignment;

/**
 *  创建自增高Label
 *
 *  @param frame          frame
 *  @param text           text
 *  @param font           font
 *  @param textColor      textColor
 *  @param backgroudColor backgroudColor
 *  @param textAlignment  textAlignment
 *
 *  @return UILabel
 */
+ (UILabel *)createAdjustsLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor  textAlignment:(NSTextAlignment)textAlignment;

@end

#import "UILabel+Create.h"

@implementation UILabel (Create)

+ (UILabel *)createLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor  textAlignment:(NSTextAlignment)textAlignment
{
    UILabel *label = [[UILabel alloc]initWithFrame:frame];
    label.text = text;
    [label setFont:font];
    [label setTextColor:textColor];
    if (backgroudColor == nil) {
        [label setBackgroundColor:[UIColor clearColor]];
    }
    else{
        [label setBackgroundColor:backgroudColor];
    }
    [label setTextAlignment:textAlignment];
    label.numberOfLines = 0;
    
    return  label;
}

+ (UILabel *)createAdjustsLabelWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font textColor:(UIColor *)textColor backgroudColor:(UIColor *)backgroudColor  textAlignment:(NSTextAlignment)textAlignment
{
    UILabel *label = [[UILabel alloc]initWithFrame:frame];
    label.text = text;
    [label setFont:font];
    [label setTextColor:textColor];
    if (backgroudColor == nil) {
        [label setBackgroundColor:[UIColor clearColor]];
    }
    else{
        [label setBackgroundColor:backgroudColor];
    }
    [label setTextAlignment:textAlignment];
    label.numberOfLines = 0;
    
    CGSize maxNameLabelSize = CGSizeMake(frame.size.width,2000);
    CGSize labelSize;
    labelSize = [text boundingRectWithSize:maxNameLabelSize
                                   options:NSStringDrawingUsesLineFragmentOrigin
                                attributes:@{NSFontAttributeName:font}
                                   context:nil].size;
    [label setFrame:CGRectMake(frame.origin.x, frame.origin.y, labelSize.width, labelSize.height)];
    
    return  label;
}

// 使用
[self.view addSubview:[UILabel createLabelWithFrame:CGRectMake(10, 100, self.view.frame.size.width-20, 30) text:_str font:[UIFont systemFontOfSize:14.f] textColor:[UIColor redColor] backgroudColor:[UIColor clearColor] textAlignment:NSTextAlignmentLeft]];

 

UILabel+Create

原文:http://www.cnblogs.com/joesen/p/4079380.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!