3. UILable 的使用
1. 坐标系
来自:http://www.cnblogs.com/mcj-coding/p/5100455.html QQ: 863740091
如果在平面坐标系中我们要确定一个东西的位置和大小需要什么?(xy值和宽高)
在iOS 程序里,X轴和我们知道的一样,但是Y轴和我们知道的正好反过来 ,也就是说你以前认为的Y轴的负值,在我们iOS中是正数

2. UILabel
展示一下UILabel的使用环境
UILabel 是一个视图类,即UIView的子类,在IOS中所有看的见,摸的着的,都是UIView的子类

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 = @"北京真好,吸雾霾不用交税";
}
3. UILable 的使用的更多相关文章
- UILable
//UILable的大小自适应实例 UILabel *myLable = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];//设定位置与大小 [m ...
- UI第一节—— UILable
1.首先说说怎么创建UI程序,打开xcode,选择Create a new Xcode project.看如下截图 2,接下来就蹦出一个和写OC应用差不多的界面,不多解释了 3.我给工程取得名字就叫 ...
- 完美解决 向UILable 文字最后插入N张图片,支持向限制行数的UILable 最后一行插入,多余文字显示...
效果: ====直接上代码吧=== // // UILabel+StringFrame.h // QYER // // Created by qyer on 15/3/19. // Copyright ...
- UIlable 属性详用
我的好朋友给我制定了一个新的学习方法,从新的看每个控件,去了解他的每个属性,方法来让自己对oc的认识更加充实 今天重新认识一下UILable 的属性lable的阴影设置: 阴影的偏移量是以lable中 ...
- iOS UILable高度自适应
适用于iOS6以后 NSString *tip = @"UILable高度自适应,UILable高度自适应,UILable高度自适应"; UILabel label_2 = [[U ...
- IOS学习--UILable使用手册(20150120)
第一步:创建一个UILable对象 UILabel *lable = [[UILabel alloc]initWithFrame:CGRectMake(, , , )]; 第二步:设置对象的各种属性 ...
- UILable:显示多种颜色的方法
借用别人封装好的类库,用来显示同一个UILable上的多种颜色的字. 类库可以直接在次博客中下载,下载后别忘留言哦. 类库使用:主要用了CoreText里面的东西,所以在使用类库之前需要引用CoreT ...
- UILable / UITextField / UIButton
// 获取屏幕大小的view UIView *contentView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; // ...
- 如何在UILable上添加点击事件?
最近开始学习iOS开发,今天上来写第一个iOS笔记 昨天碰到一个需求,在UILable上添加点击事件,网上找了写资料,有人建议用透明的UIButton覆盖,有人建议写一个集成自UILable的类,扩展 ...
随机推荐
- 如何破解.net软件
.net sdk中有不少很强大的工具,可以轻易完成对.net程序的破解,只要你懂得一点IL语言就行.现在以一个 M 软件为例,介绍整个破解过程. 第零步:用反编译工具分析软件的可执行文件,制订破解逻辑 ...
- 极光推送JPush的快速集成
首先到极光推送的官网上创建一个应用,填写对应的应用名和包名. 创建好之后下载Demo 提取Sdk里面的图片和xml等资源文件放自己项目的相应位置,然后要注意的是.so文件的放置位置: 在main目录下 ...
- easyui 汇总
1. easyui datagrid 表格组件列属性 formatter columns:{ { field:' product', title:'商品', align:'center', width ...
- BZOJ 1861: [Zjoi2006]Book 书架
1861: [Zjoi2006]Book 书架 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 1290 Solved: 740[Submit][Stat ...
- Android利用HttpURLConnection实现模拟登录
最近在做一个APP,需要模拟登录教务处,之前曾经用HttpClient做过,点这里,但是发现最新的Android SDK已经不支持Httpclient了,所以只好在琢磨一下HttpURLConnect ...
- phpexcel导入数据部分数据有误
数据在excel中是这样的: 插入数据库后是这样的: 很难发现,出错的那几条数据中的单元格中都有英文','符号,而phpexcel又是以','来拼接读取到的数据的. 解决办法:修改代码中的','为不常 ...
- SQLAlchemy文档翻译
想记录一下SQLAlchemy的入门学习,然后突发奇想觉得:为什么不直接翻译一下文档呢?于是顺手查了查怎么使用Gitbook,2333 于是就在Github开了项目,然后导入了Gitbook,开始写. ...
- 触发器运用示例---laobai
1 触发器 概念:trigger.逻辑对象的一种.当dml的增删改语句执行时,自动触发一系列动作. 分类:dml触发器.ddl触发器(很少见) sql:ddl,dml,dcl 按触发的时间分: 语句执 ...
- python内置函数
python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...
- struts2+hibernate 项目实战:图书管理系统
经典项目,练手必备. 图书管理系统 需求分析(大致,并不专业):1.需要有用户管理: 1.1 用户注册: 1.2 用户登录: 1.3 用户信息修改: 1.4 用户修改密码: 2.需要有书本管理: 2. ...