ios学习笔记(二)
开发步骤:
搭建软件界面--->发送网络请求--->网络数据解析--->在界面上显示数据UI 多线程/网络 json/xml
UI控件:
1、图片 UIImageView
2、文本 UILabel
3、按钮 UIButton
4、开关 UISwitch
5、进度条 UIProgress
6、文本框 UITextField
苹果UI界面框架
UIkit:创建和管理应用程序的用户界面
QuartzCors:提供动画特效以及通过硬件进行渲染的能力
CoreGraphics:提供2D绘制的基于C的API
CoreLocation:使用GPS和WIFI获取位置信息
MapKit:为应用程序提供内嵌地图的接口
AVFoundation:音频、视频处理
UIKit框架
UIViewController
IBAction
IBOutlet
获取button的坐标
//frame中包含按钮的属性
CGRect originFrame = self.btnIcon.frame;
//修改frame的值
originFrame.origin.y- =10;
//重新将修改后的frame赋值给frame
self.btnIcon.frame=originFrame;
OC对象属性是结构体类型,必须先获取原始值再重新赋值,不能直接修改
封装成方法
-(IBAction)move:(UIButton *)sender{
//每个按钮的不同tag值,然后在这个方法中就可以根据sender.tag来判断用户当前点击的是哪个按钮
//1、获取原始的frame
CGRect originFrame self.btnIcon.frame;
//2、修改frame
switch(sender.tag){
case 10:
//上
originFrame.origin.y- =10;
break;
case 20:
//右
originFrame.origin.x+ =10;
break;
case 30:
//下
originFrame.origin.y+ =10;
break;
case 40:
//左
originFrame.origin.x- =10;
break;
}
//重新赋值
self.btnIcon.frame = originFrame;
}
frame、center、bounds、transform的使用
frame:改变控件位置和大小
center:改变位置
bounds:只能改变大小
transform:修改位置大小旋转
注意:bounds虽然也是CGRect类型,但是x,y的值始终是0,所以只能通过bounds修改大小
originBounds.
UIBounds的状态
1、normal(普通状态)默认状态(Default)对应的枚举常量:UIControlStateNormal
2、highlighted(高亮状态) 按钮被按下去的时候(手指)对应枚举常量:UIcontrolStateHighlighted
3、disabled(失效状态,不可用状态)如果enable属性为NO,就是出于disable状态,代表按钮 不可以被点击
对应的枚举常量:UIControlStateDisable
ios动画
一、头尾式
步骤:1、开启一个动画
[UIView beginAnimations:nil context:nil];
2、设置动画执行时间
[UIView setAnimationDuration:2]
//中间要执行的动画代码
3、提交动画
[UIView commitAnimations];
二、block方式实现动画
[UIView animateWithDuration:1.0 animations:~{}]
动态添加控件
//当要显示一个界面的时候,首先创建这个界面对应的控制器
//控制器创建好以后,接着创建控制器所管理的那个view,当这个view加载完毕以后就开始执行下面的方法。
//所以只要viewDidLoad方法被执行了,就表示控制器所管理的的view创建好了
-(void)viewDidLoad{
[super viewDidLoad];
//动态创建自己的按钮
//1、创建按钮[UIButton]
UIButton *button = [[UIButton alloc] init]
//2、设置按钮上显示的文字,背景图片,文字颜色
//设置默认状态下的显示文字
[button setTitle:@"点我吧" forstate:UIControlStateNormal];
//设置默认状态下的文字颜色
[button setTitleColor:[UIColor redColor] forstate:UIControlStateNormal];
//设置默认状态下的背景图片
UIImage *imgNormal = [UIImage imageNamed:@"btn_01"];
[button setBackgroundImage:imgNormal forstate:UIControlStateNormal];
//设置高亮状态下的文字显示
[button setTitle:@"摸我干啥" forstate:UIControlStateHighlighted];
//设置高亮状态下的文字颜色
[button setTitleColor:[UIColor blueColor] forstate:UIControlStateHighlighted];
//设置高亮状态下的背景图片
UIImage *imgHighlighted = [UIImage imageNamed:@"btn_02"];
[btton setBackgroundImage:*imgHighlighted forstate:UIControlStateHighlighted]
//设置按钮的frame
button.frame = CGRectMake(50,100,100,100);
//按钮提供单击事件
[button addTarget:self action:@selector(buttonClick)
forControlEvents:UIControlEventTouchUpInside];
//把动态创建的按钮加到控件管理器的那个view中
[self.view addSubview:button];
}