iOS阶段学习第26天笔记(UILabel的介绍)
iOS学习(UI)知识点整理
一、关于UILabel的使用介绍
1)概念:UILabel是一个继承自UIView的用于展示文本信息的控件
2)UI中所有的控件都继承自UIView 即UIView 是UI的祖宗类。
3)UILable的实例化方式 代码:
UILabel *label=[[UILabel alloc]init]; //初始化UILabel
label.text=@"Hello,KingKong";//给label赋值文本内容
label.backgroundColor=[UIColor blackColor];//设置lable背景颜色为黑色
[label setTextColor:[UIColor whiteColor]];//设置文本字体颜色为白色
label.font=[UIFont systemFontOfSize:15.0];//设置label字体大小
abel.frame=CGRectMake(, , , );//设置label的x、y坐标以及长度 和高度
[self.window addSubview:label];//将初始化好的label装载到屏幕视图
4)视图颜色可以根据RGB类型设置,使用取色软件获取我们想要的颜色的RGB值可以方便的设置任意颜色类型
为了使用方便我们可以 写一个专门的根据RGB设置颜色的宏定义方法 代码如下:
#define ColorWithRGB(r,g,b) ([UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1])
5)我们还可通过NSMutableAttributedString 设置控件的样式 实例代码:
UILabel *label=[[UILabel alloc]init]; //初始化UILabel
//初始化NSMutableAttributedString对象
NSMutableAttributedString *attribute=[[NSMutableAttributedString alloc]initWithString:text];
//根据范围设置字体大小
[attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:] range:NSMakeRange(, )];
//根据范围设置背景颜色
[attribute addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(, )];
//根据范围设置字体颜色
[attribute addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(, )];
//根据label的宽度自动调节文字的字体大小
label.adjustsFontSizeToFitWidth = YES;
label.numberOfLines = ;//最大行数直到内容把label宽度高度填充完全
label.lineBreakMode = NSLineBreakByTruncatingTail;
//根据RGB设置文字颜色 此处为自定义方法
label.textColor = ColorWithRGB(, , );
//设置文字居中
//在iOS 7 之前UITextAlignmentCenter
label.textAlignment = NSTextAlignmentCenter;
//设置label的边框的宽度
label.layer.borderWidth = ;
//设置边框的颜色
label.layer.borderColor = label.textColor.CGColor;
//设置圆角 (当图像是正方形的时候,圆角值为图像一半的时候,图像变为一个圆)
label.layer.cornerRadius = ;
//label文字的阴影
label.shadowColor = [UIColor blackColor];
//laebl文字的偏移量
label.shadowOffset = CGSizeMake(, );
//将设置好的样式赋值给控件
label.attributedText=attribute;
//装载控件
[self.window addSubview:label];
6)当我们不使用iOS的Main.storyboard 而使用自定义的视图页面时需要 删除Target 下 Info选项的Main storyboard file base name
否则会执行报错
7)当我们没法选择工程运行所需的iOS模拟器是 在Target的General下找到Deployment Target 项设置一下对应的iOS版本即可
8)iOS UI项目创建选项一般为 Single View Application 项
9)我们在初始化控件对象时必须先初始化视图 代码如下:
//初始化视图对象 [UIScreen mainScreen].bounds 自动获取屏幕的尺寸
self.window = [[UIWindow alloc] initWithFrame:[UIScreenmainScreen].bounds];
//设置视图背景颜色
self.window.backgroundColor = [UIColor whiteColor];
//把当前的window设置成主window,并把它展示出来 注:此项必须设置否则无法展示视图
[self.window makeKeyAndVisible];
10)什么是Frame? Frame是坐标系,第一个参数是x坐标,第二个参数是y坐标,第三个参数是宽度,第四个参数是高度
CGRect frame = CGRectMake(, , , );
11) 获取屏幕或视图的宽\高、x坐标,y坐标
CGRect mainScreenFrame = [UIScreen mainScreen].bounds;
//获取屏幕宽度
CGFloat screenWidth1 = mainScreenFrame.size.width;
//获取视图的宽度
CGFloat screenWidth2 =CGRectGetWidth(self.view.frame);
//获取屏幕的高度
CGFloat screenHeight1 = mainScreenFrame.size.height;
//获取视图的高度
CGFloat screenHeight2 =CGRectGetHeight(self.view.frame);
//获取屏幕的X坐标
CGFloat startX = mainScreenFrame.origin.x;
//获取屏幕的Y坐标
CGFloat startY = mainScreenFrame.origin.y;
12)PCH文件说明: PCH文件是iOS中的预编译文件可以在里面实现一些对头文件的引用以及宏定义方法,
这样就可以实现一个全局引用 ,在添加PCH文件后需要在Target的 Build Settings 项下找到
Prefix Header 填写 $(SRCROOT)/Target名称/PCH文件名称.pch
13)创建控件的必要流程
1、控件初始化
2、设置Frame
3、设置背景颜色
4、将控件加载在某一视图上
可选
* 可否设置文字?
* 可否设置文本颜色?
* ……
14) 调试过程中如果我们要查看某个计算式/变量的结果值 可以在Console 区输入: po+计算式/变量 回车即可
iOS阶段学习第26天笔记(UILabel的介绍)的更多相关文章
- iOS阶段学习第29天笔记(UITextField的介绍)
iOS学习(UI)知识点整理 一.关于UITextField的介绍 1)概念: UITextField 是用于接收用户输入的一个控件 2)UITextField 初始化实例代码: //创建一个UIt ...
- iOS阶段学习第28天笔记(UIView的介绍)
iOS学习(UI)知识点整理 一.关于UIVIew 的介绍 1)概念:UIView 是用于装载并展示各类控件的大容器,是iOS中所有UI控件的基类 2)UIView 初始化实例代码 UIView * ...
- iOS阶段学习第27天笔记(UIButton-UIImageView的介绍)
iOS学习(UI)知识点整理 一.关于UIButton的介绍 1)概念:UIButton 是一种常用的控件,通过点击触发相应的功能 2)UIButton 的几种常用的状态 1.UICon ...
- iOS阶段学习第35天笔记(Touch手势介绍)
一.Touch手势 1.利用手势实现UIButton移动效果 实例代码 1) 创建一个继承自UIButton的类 MyButton.h 代码实现 #import <UIKit/UIKit.h ...
- iOS阶段学习第33天笔记(自定义标签栏(UITabBar)介绍)
iOS学习(UI)知识点整理 一.自定义标签栏 1.方法一 单个创建标签栏 #import "AppDelegate.h" #import "SecondViewCont ...
- iOS阶段学习第30天笔记( UIViewController—Delegate(代理) )
iOS学习(UI)知识点整理 一.UIViewController的介绍 1)概念:UIViewController 即视图控制器,用来管理和控制页面跳转的一个类 ,iOS里面采用了MVC的体系结构, ...
- iOS 阶段学习第11天笔记(OC基础知识)
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...
- iOS 阶段学习第七天笔记(函数、递归)
iOS学习(C语言)知识点整理笔记 一.函数 1)概念:具有特定功能的代码块的封装 2)函数的定义: 函数类型+函数名(形参列表) 函数类型 函数名(形参类型1 形参名1,形参类型2 形参名2 ...
- iOS阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
随机推荐
- Google 新推出Background sync API
Background sync是Google新推出的Web API,可延迟用户行为,直到用户网络连接稳定.这样有助于保证用户想要发送的数据就是实际发送的数据. 目前存在的问题 网络是消磨用户时间最多的 ...
- 【重要更新】Senparc.Weixin SDK v4.4 升级说明
本次更新同时影响以下所有Senparc.Weixin相关版本的dll: Senparc.Weixin.dll 升级到 v4.4.2(重要) Senparc.Weixin.MP.dll 升级到 v13. ...
- NodeJS实例系列~环境搭建,Hello world归来!
回到目录 1 安装Node.js服务端程序 https://github.com/Microsoft/nodejstools/wiki/Install-Node.js-and-get-started- ...
- Logstash为什么那么慢?—— json序列化
今天跟峡谷金桥聊天,询问起Logstash的性能,金桥提示说Logstash中json的序列化是浪费性能的一方面.于是便有了下面的测试: 第一步,造数据 首先需要造一份数据,数据可以通过logstas ...
- Atitit 判断判断一张图片是否包含另一张小图片
Atitit 判断判断一张图片是否包含另一张小图片 1. keyword1 2. 模板匹配是在图像中寻找目标的方法之一(切割+图像相似度计算)1 3. 匹配效果2 4. 图片相似度的算法(感知哈希算 ...
- iOS-远程推送
说到远程推送,应该用的也挺多的,今天就基于SEA的云推送服务,做一个推送的小demo,来了解一下iOS中的远程推送是怎么一回事儿,首先你得有苹果的开发者账号,好咸蛋也差不多了,主要内容走起. 一.准备 ...
- java实现栈与队列
一.栈 栈是一种特殊的线性表.其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行.(先进后出) 访问权限:栈限制了访问权限,只可以访问尾节点,也就是最后添加的元素 即栈顶的元素 /** * ...
- 如何解决loadrunner回放日志中的乱码问题
在Loadrunner回放脚本时,会看到replay log区会展示脚本回放时的信息.有时候选中了打印服务器返回具体信息后,服务器返回的中文字符为乱码.怎么破? 原来Loadrunner的replay ...
- Oracle 11g系列:视图
视图是数据库中特有的对象,视图用于存储查询,但不会存储数据(物化视图除外).这是视图和数据表的重要区别.Oracle中有4种视图:关系视图.内嵌视图.对象视图和物化视图. 1.关系视图 1>.创 ...
- 强制SQL Server执行计划使用并行提升在复杂查询语句下的性能
最近在给一个客户做调优的时候发现一个很有意思的现象,对于一个复杂查询(涉及12个表)建立必要的索引后,语句使用的IO急剧下降,但执行时间不降反升,由原来的8秒升到20秒. 通过观察执行 ...