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的类,扩展 ...
随机推荐
- 跳转Activity两种方法
摘要:假设从A界面开启另外一个B界面根据是否需要返回数据分为两种方式 一.无需返回数据方式 在A界面中调用startActivity方法进行直接跳转即可 二.需要返回数据方式 1.在A界面中调用sta ...
- jQuery1.9之后使用on()绑定 动态生成元素的 事件无效
来自互联网: 需要绑定a的父级元素(此元素必须为静态元素,不是后来动态生成的),然后设定on()方法的selector参数才行: $('p').on('mouseenter', 'a', functi ...
- 【转载】JS中bind方法与函数柯里化
原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...
- Asp.Net通过HttpModule实现URL重写
首先总结一下为什么要对URL进行Rewrite,比如我可以把/Default.aspx?param=3替换成/Home/Default/3(类似mvc). 一.缩短url,隐藏实际路径提高安全性; 二 ...
- python 2.6 与 2.4 区别
class 要把 class config(): 改成 class config: except Exception as e # only works in python 2.4 to 2.7 tr ...
- javascript学习
代码放在E:\JS\js学习 学习中要学会多查手册 javascript基本介绍 js是用于web开发的脚本语言. 后面统称为 js 脚本语言是什么? 脚本语言不能独立使用,它和html/jsp/ph ...
- POJ 2942 Knights of the Round Table
Knights of the Round Table Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 10911 Acce ...
- iOS plist文件创建
iOS中plist的创建,数据写入与读取功能创建一个test.plist文件,textInput作为输入,displayLabel作为显示,有一个按钮来触发保持程序triggerStorage: -( ...
- PHP Ajax 跨域问题最佳解决方案
本文通过设置Access-Control-Allow-Origin来实现跨域. 例如:客户端的域名是client.runoob.com,而请求的域名是server.runoob.com. 如果直接使用 ...
- Oracle表格建立
Oracle学习第一天:学习了如何在网页上建立表空间,以及在关联性表格上建立表格,填充表格,学习了如何建立自己的表空间.效果如下: