UILabel UIFont--字体属性和一些特效【转】

来源:互联网 发布:网络歌曲谢谢你陪着我 编辑:程序博客网 时间:2024/05/10 02:22

UILabel UIFont

//UILabel垂直居上对齐:

[label sizeToFit];

//设置文字过长时的显示格式

label.lineBreakMode = UILineBreakModeWordWrap;typedefenum {    UILineBreakModeWordWrap =0,    UILineBreakModeClip,//截去多余部分      UILineBreakModeHeadTruncation, //截去头部    UILineBreakModeTailTruncation,//截去尾部     UILineBreakModeMiddleTruncation,//截去中间} UILineBreakMode;

//设置label的行数,这个可以根据上节的UITextView自适应高度

label.numberOfLines = 2;label.lineBreakMode = UILineBreakModeWordWrap;

//字体相关属性设置

//设置文字对齐位置,居左,居中,居右 label.textAlignment =  UITextAlignmentCenter;//设置显示文字 label.text = @ "123" ;//设置文字颜色,可以有多种颜色可以选择label.textColor = [UIColor whiteColor];//设置背景颜色label.backgroundColor = [UIColor blackColor];//设置字体:粗体,正常的是 SystemFontOfSize,调用系统的字体配置 label.font = [UIFont boldSystemFontOfSize:20];label.font = [UIFont fontWithName:@ "Arial Rounded MT Bold"  size:(36.0)];//[UIFont fontWithName:@ "Arial" size:14.0]]; //非加粗//设置文本是否高亮和高亮时的颜色scoreLabel.highlighted = YES; scoreLabel.highlightedTextColor = [UIColor orangeColor]; //设置阴影的颜色和阴影的偏移位置 scoreLabel.shadowColor = [UIColor redColor]; scoreLabel.shadowOffset = CGSizeMake(1.0,1.0); //设置是否能与用户进行交互 scoreLabel.userInteractionEnabled = YES;  //设置label中的文字是否可变,默认值是YES  scoreLabel.enabled = NO;//设置字体大小是否适应label宽度 label.adjustsFontSizeToFitWidth = YES; //如果adjustsFontSizeToFitWidth属性设置为YES,下面这个属性就来控制文本基线的行为coreLabel.baselineAdjustment = UIBaselineAdjustmentNonetypedefenum {    UIBaselineAdjustmentAlignBaselines =0,// default. used when shrinking text to position based on the original baseline    UIBaselineAdjustmentAlignCenters,    UIBaselineAdjustmentNone,} UIBaselineAdjustment;//最小文字号数minimumFontSize//设置背景色为透明 scoreLabel.backgroudColor=[UIColor clearColor];//自定义的颜色:scoreLabel.textColor = [UIColor colorWithRed:1.0f green:50.0f blue:0.0f alpha:1.0f];//UIColor 里的 RGB 值是CGFloat类型的在0~1范围内,对应0~255的颜色值范围。- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;//改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.- (void)drawTextInRect:(CGRect)rect;//声明UIlbel并指定其位置和长宽UILabel *label = [[UILabelalloc] initWithFrame:CGRectMake(0, 0, 75, 40)]; //设置label的背景色,这里设置为透明色。 label.backgroundColor = [UIColorclearColor]; //设置label的字体和字体大小。 label.font = [UIFont fontWithName:@"Helvetica-Bold" size:13];  //lable的旋转 label.transform = CGAffineTransformMakeRotation(0.1);     //设置label的旋转角度//设置文本的阴影色彩和透明度。label.shadowColor = [UIColorcolorWithWhite:0.1falpha:0.8f];  //设置阴影的倾斜角度。  label.shadowOffset = CGSizeMake(2.0f, 2.0f);     //换行:如下换行可实现多行显示,但要求label有足够的宽度。 label.lineBreakMode = UILineBreakModeWordWrap;     //**label文字自动调整宽度和高度**//初始化UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//初始行数为0[label setNumberOfLines:0];//label显示文字NSString *s = @"string......";//设置字体UIFont *font = [UIFont fontWithName:@"Arial" size:12];//自定义大小CGSize size = CGSizeMake(320,2000);//重设label的sizeCGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];//重设frame[label setFrame:CGRectMake:(0,0, labelsize.width, labelsize.height)];[self.view addSubView:label];这样就可以对s赋值让其自动调整其大小了。

//UILabel跑马灯效果

http://www.cocoachina.com/bbs/read.php?tid=74540

#import <UIKit/UIKit.h>@interface TextFlowView : UIView {     //显示文本的标签    UILabel *_firstLabel;    UILabel *_secondLabel;       //定时器    NSTimer *_timer;    //显示的文本    NSString *_text;    //是否需要滚动    BOOL _needFlow;    //控件的框架大小    CGRect _frame;    //文本的字体    UIFont *_font;    //当前第一个控件的索引    NSInteger _startIndex;    //定时器每次执行偏移后,累计的偏移量之和    CGFloat _XOffset;    //文本显示一行,需要的框架大小    CGSize _textSize;  }- (id)initWithFrame:(CGRect)frame Text:(NSString *)text;- (void)setFont:(UIFont *)font;- (void)setText:(NSString *)text;@end

#import "TextFlowView.h"@implementation TextFlowView#pragma mark -#pragma mark 内部调用#define SPACE_WIDTH 50#define LABEL_NUM 2//改变一个TRect的起始点位置,但是其终止店点的位置不变,因此会导致整个框架大小的变化- (CGRect)moveNewPoint:(CGPoint)point rect:(CGRect)rect{    CGSize tmpSize;    tmpSize.height = rect.size.height + (rect.origin.y - point.y);    tmpSize.width = rect.size.width + (rect.origin.x - point.x);    returnCGRectMake(point.x, point.y, tmpSize.width, tmpSize.height);}//开启定时器- (void)startRun{    _timer = [NSTimerscheduledTimerWithTimeInterval:0.02target:selfselector:@selector(timerAction) userInfo:nilrepeats:YES];}//关闭定时器- (void)cancelRun{    if (_timer)     {        [_timerinvalidate];    }}//定时器执行的操作- (void)timerAction{    staticCGFloat offsetOnce = -1;    _XOffset += offsetOnce;    if (_XOffset +  _textSize.width <= 0)     {        _XOffset += _textSize.width;        _XOffset += SPACE_WIDTH;    }    [selfsetNeedsDisplay];   }//计算在给定字体下,文本仅显示一行需要的框架大小- (CGSize)computeTextSize:(NSString *)text{    if (text == nil)     {        returnCGSizeMake(0, 0);    }    CGSize boundSize = CGSizeMake(10000, 100);    CGSize stringSize = [_textsizeWithFont:_fontconstrainedToSize:boundSize lineBreakMode:UILineBreakModeWordWrap];    return stringSize;- (id)initWithFrame:(CGRect)frame Text:(NSString *)text{    self = [superinitWithFrame:frame];    if (self)     {        _text = [text retain];        _frame = frame;        //默认的字体大小        _font = [UIFontsystemFontOfSize:16.0F];        self.backgroundColor = [UIColorredColor];        //初始化标签        //判断是否需要滚动效果        _textSize = [selfcomputeTextSize:text];        //需要滚动效果        if (_textSize.width > frame.size.width)         {            _needFlow = YES;            [selfstartRun];        }    }    returnself;}- (void)drawRect:(CGRect)rect{    CGContextRef context= UIGraphicsGetCurrentContext();    CGContextSetFillColorWithColor(context, [UIColorwhiteColor].CGColor);    // Drawing code    CGFloat startYOffset = (rect.size.height - _textSize.height)/2;    CGPoint origin = rect.origin;    if (_needFlow == YES)     {         rect = [selfmoveNewPoint:CGPointMake(_XOffset, startYOffset) rect:rect];         while (rect.origin.x <= rect.size.width+rect.origin.x)         {            [_textdrawInRect:rect withFont:_font];            rect = [selfmoveNewPoint:CGPointMake(rect.origin.x+_textSize.width+SPACE_WIDTH, rect.origin.y) rect:rect];        }    }    else    {        //在控件的中间绘制文本        origin.x = (rect.size.width - _textSize.width)/2;        origin.y = (rect.size.height - _textSize.height)/2;        rect.origin = origin;        [_textdrawInRect:rect withFont:_font];    }}//此处,如果开启了内存自动管理则没必要加- (void)dealloc{    [_textrelease];    [superdealloc];}#pragma mark -#pragma mark 外部调用- (void)setFont:(UIFont *)font{    _font = font;}- (void)setText:(NSString *)text{    [_textrelease];    _text = [text retain];}@end

美化UILabel中的字体代码分享

http://www.devdiv.com/iOS_iPhone-%E7%BE%8E%E5%8C%96UILabel%E4%B8%AD%E7%9A%84%E5%AD%97%E4%BD%93%E4%BB%A3%E7%A0%81%E5%88%86%E4%BA%AB-thread-122319-1-1.html

UILabel跑马灯效果

http://hi.baidu.com/suxinde2009/blog/item/5bcd0e60dd9bb77f0d33fac3.html

垂直顶端对齐的UILabel

http://www.devdiv.com/%E5%88%86%E4%BA%AB%E4%B8%80%E4%B8%AA%E5%8F%AF%E5%9E%82%E7%9B%B4%E9%A1%B6%E7%AB%AF%E5%AF%B9%E9%BD%90%E7%9A%84UILabel-weblog-64796-7239.html

让UILabel具有链接功能,点击后调用safari打开网址

   UILabel *labelGovUrl = [[UILabel alloc] initWithFrame:CGRectMake(73.0, 330.0, 180.0, 40.0)];        labelGovUrl.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight);        labelGovUrl.text = @"侬侬官网 >";        labelGovUrl.backgroundColor = [UIColor clearColor];        labelGovUrl.textColor = [UIColor whiteColor];        labelGovUrl.font = [UIFont fontWithName:@"Helvetica-Bold" size:14];        labelGovUrl.userInteractionEnabled = YES;        labelGovUrl.tag = K_NNGOV_WEBSITE_LABEL_URL;        UITapGestureRecognizer *tapGesture =        [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openURL:)] autorelease];        [labelGovUrl addGestureRecognizer:tapGesture];        [self.view addSubview:labelGovUrl];        [labelGovUrl release];    -(void)openURL:(UITapGestureRecognizer *)gesture{        NSInteger tag = gesture.view.tag;        NSString *url = nil;        if (tag == K_NNWEIBO_LABEL_URL) {            url = @"http://t.qq.com/yourgame/";        }        if(tag == K_NNGOV_WEBSITE_LABEL_URL){            url = @"http://www.zjnn.cn/";        }        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];    }    
0 0
原创粉丝点击