3. UILable 的使用

1.  坐标系

来自:http://www.cnblogs.com/mcj-coding/p/5100455.html  QQ: 863740091

如果在平面坐标系中我们要确定一个东西的位置和大小需要什么?(xy值和宽高)

在iOS 程序里,X轴和我们知道的一样,但是Y轴和我们知道的正好反过来 ,也就是说你以前认为的Y轴的负值,在我们iOS中是正数

3. UILable 的使用

2.  UILabel

展示一下UILabel的使用环境

UILabel 是一个视图类,即UIView的子类,在IOS中所有看的见,摸的着的,都是UIView的子类

3. UILable 的使用

UILabel 是标签视图,用于显示文字信息。

#import "RootViewController.h"

@interface RootViewController ()

{

UILabel *_label;

}

@end

@implementation RootViewController

// 这个ViewController 东西已经准备好,可以添加UI控件了

- (void)viewDidLoad {

[super viewDidLoad];

// 给界面添加了一个label对象

//    [self addLabel];

//

//    // 修改了label里面的文本信息

//    [self addMetch];

//    [self addLabelWithAttr];

// UILable去适应文本的大小

[self adutText];

}

- (void)addLabel

{

_label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];

// 设置背景颜色

_label.backgroundColor = [UIColor redColor];

// 设置label 的文本信息

_label.text = @"yes,you are a bad man, I am a good man. Do you belieffffve it?";

// 字体大小设置

_label.font = [UIFont systemFontOfSize:30];

// 设置字体为粗体

_label.font = [UIFont boldSystemFontOfSize:30];

// 设置字体为斜体(不支持中文)

_label.font = [UIFont italicSystemFontOfSize:30];

// 设置字体的样式

//    NSLog(@"%@",[UIFont familyNames]);(可以打印出字体的样式有多少)

//    label.font = [UIFont fontWithName:@"Zapfino" size:20];

// 设置自适应宽度

//    label.adjustsFontSizeToFitWidth = YES;

// 设置文字对齐方式(三种)

_label.textAlignment = NSTextAlignmentCenter;

// 设置最多显示几行

_label.numberOfLines = 4;

// 设置中断模式

//    NSLineBreakByWordWrapping  // 单词换行

//    NSLineBreakByCharWrapping, // 字符换行 ,如果显示不下,字符作为省略单位     NSLineBreakByClipping, // 单词换行,如果显示不下,字符作为省略单位

//    NSLineBreakByTruncatingHead,// 单词换行,如果显示不下,省略最后一行行首

//    NSLineBreakByTruncatingTail,// 单词换行,如果显示不下,省略最后一行行尾

//    NSLineBreakByTruncatingMiddle // 单词换行,如果显示不下,省略最后一行行中

_label.lineBreakMode = NSLineBreakByTruncatingMiddle;

// 设置阴影偏移量

_label.shadowOffset = CGSizeMake(2, 2);

_label.shadowColor = [UIColor yellowColor];

// 设置透明度(0 ~ 1) 默认是1 数值越小透明度越大

_label.alpha = 1;

// tag(可以通过这个tag 在其他方法里找到这个控件)

_label.tag = 100;

// 把label 添加到屏幕上

[self.view addSubview:_label];

}

- (void)addLabelWithAttr

{

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 200, 200, 50)];

// 拓展

NSString *strV = @"SaLaHeiYou,KuNiXiWa";

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:strV];

// 修改颜色

// NSMakeRange(0, 4) 从哪个位置开始,数几个字符,设置他们的颜色

[attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(0, 4)];

[attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(5, 2)];

[attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(8, 10)];

NSLog(@"%@",[UIFont familyNames]);

//Zapfino Menlo Baskerville Verdana

// 修改字体

[attributeString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Zapfino" size:20] range:NSMakeRange(0, 4)];

[attributeString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Menlo" size:30] range:NSMakeRange(5, 4)];

[attributeString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Baskerville" size:10] range:NSMakeRange(10, 4)];

label.attributedText = attributeString;

[self.view addSubview:label];

}

- (void)adutText

{

// 获取这些文本占用多大的空间

NSString *str = @"获取这些文本占用多大的空间 获取这些文本占用多大的空间 获取这些文本占用多大的空间";

// 根据文字的大小获取多大的label 可以显示

CGRect rect = [str boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:30]} context:nil];

CGFloat labelH = rect.size.height;

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 200, 300, labelH)];

// 0 的时候有多少行 显示多少行

label.numberOfLines = 0;

label.font = [UIFont systemFontOfSize:30];

label.backgroundColor = [UIColor redColor];

label.text = str;

[self.view addSubview:label];

}

- (void)addMetch

{

UILabel *label = (UILabel *)[self.view viewWithTag:100];

label.text = @"北京真好,吸雾霾不用交税";

}

上一篇:python中date、datetime、string的相互转换


下一篇:JDK6环境下升级项目到springframework4.x和tomcat7.x