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的类,扩展 ...
随机推荐
- 字符编码笔记:ASCII,Unicode和UTF-8 转
本文出处 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 只是为了记录一下省得要去搜. 今天中午,我突然想搞清楚 ...
- jquery easy ui datagrid中遇到的坑爹的問題。。。
; //修改 function Update() { //獲取選中行 var selected = $("#dg1").datagrid('getSelected'); //判斷是 ...
- 某CRM项目招投标工作的感悟
最近参与了某公司的CRM项目招标工作, 由于此项目涉及到的二级单位比较多,以及项目金额比较大,所以此招标工作从准备到宣布中标一直持续了大概3个月时间,中间过程发生了一些颇有意思的事情,因为保密的原因无 ...
- jquey on
1.如果你的元素是用clone方法复制出来的,并且,用了on来绑定事件的话,必须在clone的后边添加true,负责你的事件不会生效. 2.必须在on $('.js-liubody').on('cli ...
- 【JavaScript】冒泡排序,字符串排序,数字排序
原理:是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, function bubbleClick() { var str = "50,1,4,6,9,76,43,22,2, ...
- cosbench 异常 FreeMarker template error: The following has evaluated to null or missing
问题现象: 使用Cosbench 0.4.2.c4 版本测试Ceph RGW read test失败,遇到异常如下: FreeMarker template error: The following ...
- bzoj 4553 && HEOI2016 day1t3 seq
一个序列在所有变换中都单调不降的条件是i<j,a[i]<=min[j],mx[i]<=a[j],所以套CDQ就行了. #include<iostream> #includ ...
- noip2016十连测round1
A:String Master 题目:所谓最长公共子串,比如串 A:"abcde",串 B:"jcdkl",则它们的最长公共子串为串 "cd" ...
- BZOJ2144: 跳跳棋
传送门 神题一道. 考虑题目性质.首先对于一个状态,只存在四种情况,即最左/右边的点跳到中间,中间的点跳到左/右.而对于一个状态,显然第一种情况的两种分支不能同时存在,那么题目就可以理解为从$(a,b ...
- jquery生成元素注册事件无效,及事件委托的使用
在页面加载完成之后,我们在页面操作用js生成html代码到页面,动态的添加元素带页面上 但是,这里可能很多人就必须碰到的一个问题就出现了,当你之后动态添加了元素到页面上,发现这个元素的绑定事件无效,如 ...