UIcontrol 创建用户界面控件对象。
1.定义:在窗体上创建各种组件(比如、按钮、静态文本框、弹出式菜单等)。并指定这些组件的回调函数。
// UIImage 继承 NSObject 用来保存图片资源
UIImageView 用来显示图片的控件 相当于相框 用来显示 UIImage
// 1. UIImageView 加载静态图片
// 获取图片方式1
UIImage *image = [UIImage imageNamed:@"Pic.jpg"];
// 缺点:第一次找的时候比较麻烦 因为需要缓存一份 (浪费时间)
// 优点:之后再使用在内存缓存的那一份
//获取图片方式2
//查看图片包得路径
NSLog(@"%@",[NSBundle mainBundle].bundlePath);
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Pic" ofType:@"jpg"];
UIImage *image = [UIImage imageWithContentsOfFile:filePath];
// 优点:查找的时候比较方便,能通过路径直接拿到 节省时间
// 缺点:每次使用都要去通过路径查找
//2. 建个相框
UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
imageView.frame = CGRectMake(0, 30, 320, 548);
// 添加到视图上面
[self.view addSubview:imageView];
[imageView release];
// 2. UIImageView 加载动态图片
注:动态是很多张 tiff 格式的图片组成的所以要先设定数组
NSMutableArray *imageArray = [NSMutableArray arrayWithCapacity:22];
//arrayWithCapacity:后跟的数组就是图片的张数
for (int i =0; i <22; i++) {
{
NSString *imageName = [NSString stringWithFormat:@"zombie%d",i+1];
//获取文件路径
NSString *filePath = [[NSBundle mainBundle]pathForResource:imageName ofType:@"tiff"];
UIImage *image = [UIImage imageWithContentsOfFile:filePath];
}
NSString *imageName = [NSString stringWithFormat:@"zombie%d.tiff",i+1];
UIImage *image = [UIImage imageNamed:imageName];
// 上面的可以简写成下面的格式
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"zombie%d",i+1]];
[imageArray addObject:image];
}
//建个相框
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 30, 280, 508)];
//设置 imageView 播放的动态图片数组
imageView.animationImages = imageArray;
// 设定动态图片的循环的次数 无限次循环是数字0
imageView .animationRepeatCount = 2;
//设置一组 动态图片的播放速度
imageView .animationDuration = 0.2;
//添加到父视图
[self.view addSubview: imageView];
[imageView release];
//开始播放动态图片 一定要加上否则不会自己动啦
[imageView startAnimating];
3.等比缩放图片
// 创建图片对象
UIImage *image = [UIImage imageNamed:@"Pic.jpg"];
// 创建 UIImageView对象
UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
// 计算出 imageView 的高度
CGFloat height = 100*image.size.height/image.size.width;
imageView .frame = CGRectMake(30, 20, 100, height);
//添加到父视图 释放
[self.view addSubview:imageView];
[imageView release];
// 4. UISegmentedControl 继承 UIControl 由多个分段组成 每个分段都是一个小按钮
4.1 创建一个 segmentControl 对象
// 1.创建一个 segmentControl 对象
NSArray *itemArray = @[@"你的红色",@"你的黄色",@"你的绿色",@"你的蓝色"];
UISegmentedControl * segment = [[UISegmentedControl alloc]initWithItems:itemArray];
//设置范围 如果不设置它会默认系统给你的位置
segment.frame = CGRectMake(30, 20, 260, 40);
// 设置默认选择中的分段(一出来就是选中了什么界面)
segment.selectedSegmentIndex =2;
// 设置边框颜色
segment.tintColor = [UIColor cyanColor];
// 设置分段的宽度
[segment setWidth:100 forSegmentAtIndex:0];
// 设置里面的字体 的大小
NSDictionary *dic = @{NSFontAttributeName:[UIFont boldSystemFontOfSize:17],NSForegroundColorAttributeName:[UIColor orangeColor]};
[segment setTitleTextAttributes:dic forState:UIControlStateNormal];
//添加到父视图
[self.view addSubview:segment];
[segment release];
// 2. segment 分段的点击事件 这个是继承父类的 东西
[segment addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
// #pragma mark ------实现点击事件方法------
-(void)segmentAction:(UISegmentedControl *)sender{
switch (sender.selectedSegmentIndex) {
case 0:
self.view.backgroundColor = [UIColor redColor];
break;
case 1:
self.view.backgroundColor = [UIColor yellowColor];
break;
case 2:
self.view.backgroundColor = [UIColor greenColor];
break;
case 3:
self.view.backgroundColor = [UIColor blueColor];
break;
default:
break;
}
}
// 5.UISlider 滑块控件
// 创建模块
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(10, 100, 300, 40)];
// 设置划过区域的颜色
slider .minimumTrackTintColor = [UIColor redColor];
// 设置未滑过区域的颜色
slider.maximumTrackTintColor = [UIColor yellowColor];
// 设置滑竿的最大值 最小值
slider .minimumValue = 0.0;
slider .maximumValue = 1.0;
// 设置滑竿当前值
slider . value = 0.5;
// 设置滑块的上面的图片
// [slider setThumbImage:[UIImage imageNamed:@"123"]forState:UIControlStateNormal];
// 添加到父视图
[self.view addSubview:slider];
[slider release];
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
}
//#pragma mark------实现滑块事件的方法-----
-(void)sliderAction:(UISlider *)sender{
self.view.backgroundColor = [UIColor cyanColor];
self.view.alpha = sender.value;// 通过移动她的值 改变透明度
// 总结:
/*
1.UIControl 是控制类控件 的基类 凡是继承 UIControl 的控件 都可以继承点击事件的方法(addTarget: action:,)也可以 通过 removeTarget: action: 移除事件
2.当我们想让一个类拥有 addTarget:action: 只需要他继承自 UIControl
3.如果想定义一个视图 并能够响应事件 就让他继承 UIControl
*/