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的类,扩展 ...
随机推荐
- Go语言总结(图片打开略慢请知晓)
- Nginx搭建https服务器
HTTPS简介 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单来讲就是HTTP的安全版.即H ...
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
一前言 本来使用qq邮箱发送邮件,然后借助sendEmail来发送邮件告警,但是有每天的200封限制,很是不爽,于是想到来自己搭建邮件服务器来解决这个问题,关于使用sendEmail来借助qq邮箱来发 ...
- 解决:dpkg:处理 xxx (--configure)或E: Sub-process /usr/bin/dpkg returned an error code (1)
问题重现: 问题解决办法: #先备份原来的,然后重新新建 sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak //现将info文件夹更名 sudo mk ...
- Thinking in java学习笔记之持有对象总结
- java异常
java之异常 认识java中的异常: 有过编程经历的人都会知道,出错在编写程序时,是再正常不过的事,当运行程序时,每次看到那个程序出错时,都会觉得心塞,但是最让人心塞的事情往往是——程序运行的结果和 ...
- 面试web前端开发,被打击了
今天我去面试web前端开发,被打击了,也跟我也有一定的关系,最基础的东西我都没回答好,哎! 主要是我在等我有意向的公司给我发offer,闲着没事,刚好又有公司叫我去面试,我抱着多面一家也没有啥子坏处就 ...
- nginx 499 状态码优化
在grafana界面中发现不少499的状态码,在网上了解到出现499的原因大体都是说服务端处理时间过长,客户端主动关闭了连接. 既然原因可能是服务端处理时间太长了,看一下upstream_resp ...
- HTTP超文本传输协议-HTTP/1.1中文版
摘要 超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议.它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外 ...
- 10月25日上午PHP继承多态
概念:子类可以继承父类的一切 方法重写:在子类里面对父类的方法进行重写,实现自己独特的功能.特点:单继承:一个子类只能有一个父类,一个父类可以派生出多个子类.override重写(子类对父类的重写) ...