iOS基础 - 控件属性
一、控件的属性
1.CGRect frame
1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0))
2> 修改这个属性,可以调整控件的位置和尺寸
2.CGPoint center
1> 表示控件的中点(以父控件的左上角为坐标原点)
2> 修改这个属性,可以调整控件的位置
3.CGRect bounds
1> 表示控件的位置和尺寸(以自己的左上角位坐标原点,位置永远是(0, 0))
2> 修改这个属性,只能调整控件的尺寸
4.int tag
1> 表示控件的标识
2> 通过不同标识可以区分不同的控件
5.CGAffineTransform transform
1> 表示控件的形变状态(旋转角度、缩放比例)
2> 创建CGAffineTransform的函数
* CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
创建一个x、y方向的缩放比例分别为sx、sy的形变值
* CGAffineTransformMakeRotation(CGFloat angle)
创建一个旋转角度为angle的形变值
* CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)
在形变值t的基础上,再进行缩放,x、y方向的缩放比例分别为sx、sy,然后返回一个新的形变值
* CGAffineTransformRotate(CGAffineTransform t, CGFloat angle)
在形变值t的基础上,再进行旋转,旋转角度为angle,然后返回一个新的形变值
二、添加控件到控制器的view
[self.view addSubview:子控件];
三、设置按钮的属性
// 1.创建按钮
// 1.1.创建
UIButton *btn = [[UIButton alloc] init];
// 1.2.设置按钮的尺寸和位置
btn.frame = CGRectMake(0, 0, 100, 100);
// 1.3.设置按钮普通状态下的属性
// 1.3.1.设置背景图片
UIImage *normal = [UIImage imageNamed:@"btn_01.png"];
[btn setBackgroundImage:normal forState:UIControlStateNormal];
// 1.3.2.设置文字
[btn setTitle:@"click" forState:UIControlStateNormal];
// 1.3.3.设置文字颜色
[btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
// 1.4.设置按钮高亮状态下的属性
// 1.4.1.设置背景图片
UIImage *high = [UIImage imageNamed:@"btn_02.png"];
[btn setBackgroundImage:high forState:UIControlStateHighlighted];
// 1.4.2.设置文字
[btn setTitle:@"fuck" forState:UIControlStateHighlighted];
// 1.4.3.设置文字颜色
[btn setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
// 1.5.监听按钮点击
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
四、viewDidLoad
1.这是控制器的一个方法
2.当控制器的view创建完毕的时候会调用一次
五、UISlider
1.value属性可以获得当前的进度值
2.按钮的value发生改变了,会触发UIControlEventValueChanged事件
六、Plist文件的使用
1.加载一个plist文件的时候,会返回一个plist的根节点对象(Root)
七、NSBundle的使用
1.利用NSBundle可以访问某个资源包的内容
2.如果访问软件中最主要资源包的内容,应该用mainBundle
NSBundle *bundle = [NSBundle mainBundle];
3.利用NSBundle获得文件的全路径
NSString *path = [bundle pathForResource:@"name" ofType:@"plist"];
iOS基础 - 控件属性的更多相关文章
- [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)
A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不 ...
- [iOS基础控件 - 6.12.3] @property属性 strong weak copy
A.概念 @property 的修饰词 strong: 强指针/强引用(iOS6及之前是retain) weak: 弱智真/弱引用(iOS6及之前是assign) 默认情况所有指针都是强指针 ...
- [iOS基础控件 - 6.8] 各种数据类型的@property属性
A.内存管理 NSString: copy 基本数据类型.结构体(int, CGFloat, BOOL, CGRect等):assign 对象(如自定义model类型.NSArray.NSDictio ...
- iOS 基础控件(下)
上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知 ...
- [iOS基础控件 - 6.11.3] 私人通讯录Demo 控制器的数据传递、存储
A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改) 这个代码 ...
- [iOS基础控件 - 6.9] 聊天界面Demo
A.需求 做出一个类似于QQ.微信的聊天界面 1.每个cell包含发送时间.发送人(头像).发送信息 2.使用对方头像放在左边,我方头像在右边 3.对方信息使用白色背景对话框,我方信息使用蓝色背景对话 ...
- [iOS基础控件 - 7.0] UIWebView
A.基本使用 1.概念 iOS内置的浏览器控件 Safari浏览器就是通过UIWebView实现的 2.用途:制作简易浏览器 (1)基本请求 创建请求 加载请求 (2)代理监听webView加载, ...
- [iOS基础控件 - 6.12.1] QQ菜单管理 UITabBarController 控制器管理
A.需求 1.类似QQ.微信顶部或者底部的窗口转换导航条 2.给每个页面添加相应内容 B.UITabBarController 1.基本概念: (1)内容高度 iOS7之前内容高度为:屏幕高度 - ...
- [iOS基础控件 - 6.11.4] storyboard 的 Segue
A.概念 storyboard中的跳转事件连线,都是一个UIStoryboardSegue对象(Segue) 来源控制器 触发控制器 目标控制器 跳转到的控制器 Seg ...
随机推荐
- linux终奌站 信息 格式 更改 /etc/bashrc
gedit /etc/bashrc shell环境下默认的特殊符号意义: \d :代表日期,格式为weekday month date,比如:"Sun Sep 18" \H :完整 ...
- Javascript学习3 - 语句
原文:Javascript学习3 - 语句 javascript语句同C/C++语句相似,但也几个特殊的语句,在C/C++中没在碰到,列举在下面. 3.1 for/in 语句 可以用来遍历对象 ...
- 怪异php 语法, 求解!
查找php馍用来推断是否串串返回值和方法 strpos很奇怪. 请看下面的语句: echo "A1: ".(strpos("csd","c" ...
- 接收终端Request.InputStream阅读
接收终端Request.InputStream阅读请求页面参数,最后字符串. byte[] byts = new byte[HttpContext.Current.Request.InputStrea ...
- 如何使用Linq或EF来对数据去重——Distinct方法详解
刚开始接触LINQ时使用distinct去重时和大家一样遇到了一些麻烦,很感谢 http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062.htm ...
- mysql_navicat_快捷键
快捷键能节省很多时间,之前一直研究oracle,plsql有自定义自动补全, 比如 sf 直接回车 可以出现 select * from 等等(参照http://www.cnblogs.com/cph ...
- RPC框架
RPC框架实现 - 路由控制篇 2015-04-27 22:26 by bangerlee, 499 阅读, 1 评论, 收藏, 编辑 RPC(Remote Procedure Call,远程过程调用 ...
- 我在Github上的flare-spark项目
Flare-Spark 介绍 我在自己的github上建了个flare-spark项目,本身是Apache Spark项目Master分支的镜像.在Spark的基础上,添加了flare子项目. 估计大 ...
- 记录近期小改K-Means至MapReduce上的心得
背景: 在所有聚类算法中KMeans算是表面上最简单的一种,没有过多恼人的古希腊符号公式,没有过分繁杂的公式嵌套.对于一个初学矩阵或者仅有向量概念的非专业人士的来说,不可不畏是一把踹门利器.这个世界上 ...
- 响应式web前端框架Foundation & Bootstrap 对比
Foundation & Bootstrap都是易用.强大且灵活的前端框架,用于构建基于任何设备上的 Web 应用.提供流式布局,及多种 js UI 组件,如导航.表单.按钮.Tabs 等等. ...