UIProgress , UISetpper ,
1.Xib的使用
2.计步器与进度条
//
UIProgress // 进度条
-(void)createProgress
{
//进度条 不能与用户进行交互
//进度条类名 UIProgressView
//<1>创建进度条对象
/*
UIProgressViewStyleDefault,
UIProgressViewStyleBar,
*/
UIProgressView * progressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleDefault];
//<2>设置显示位置
progressView.frame = CGRectMake(10, 300, 300, 10);
//<3>设置左侧的颜色
progressView.progressTintColor = [UIColor redColor];
//<4>设置右侧的颜色
progressView.trackTintColor = [UIColor cyanColor];
//<5>设置progressView的初始值
progressView.progress = 0;
//progress 取值范围为(0~1)
//<6>设置tag值
progressView.tag = 998;
[self.view addSubview:progressView];
}
======================================================================================================
// UIStepper 控件
-(void)createStepper
{
//计步器控件 能与用户进行交互 原理和两个按钮合并一起很像
//计步器控件类名 UIStepper
//<1>创建计步器对象
UIStepper * stepper = [[UIStepper alloc]initWithFrame:CGRectMake(100, 100, 100, 40)];
//<2>为stepper添加背景颜色
//stepper.backgroundColor = [UIColor redColor];
//<3>设置stepper的边框颜色
stepper.tintColor = [UIColor redColor];
//<4>设置stepper的最小值
stepper.minimumValue = 0;
//<5>设置stepper的最大值
stepper.maximumValue = 100;
//<6>设置stepper的步长
stepper.stepValue = 10;
//<7>设置stepper默认初始化的值
stepper.value = 0;
//<8>关闭stepper的长按状态
stepper.autorepeat = NO;
//<9>设置stepper的点击事件
[stepper addTarget:self action:@selector(pressStepper:) forControlEvents:UIControlEventValueChanged];
stepper.tag = 100;
[self.view addSubview:stepper];
}
======================================================================================================
//警告框
- //警告框UIAlertView 能够与用户进行交互
//默认显示在视图的中心位置 大小由编译器决定 无需手动设置显示位置及大小
//<1>创建alertView对象
/*
1、警告框的标题
2、警告框的内容
3、设置当前视图控制器对象为警告框的代理
4、设置按钮标题 (一般的时候该按钮的标题不缺省)
5、添加多个按钮的标题
*/
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"警告" message:@"你很帅~" delegate:self cancelButtonTitle:@"我知道啊" otherButtonTitles:@"呵呵", nil];
//<2>将alertView添加到当前视图上
[alert show];
//【注意】alertView出现以后 原有视图上的控件不能再次与用户进行交互 直到alertView消失 才恢复与用户交互的功能
alert.tag = 100;
}
else
{
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"请选择颜色" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:@"red",@"yellow",@"blue",@"green", nil];
[alert show];
}
}
//实现协议中的方法
//【重点】alertView上按钮的点击事件 协议中得方法
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
//【注意】alertView视图上的按钮 cancelButton的下标值为0 按钮的下标从左向右、从上向下逐渐增大
//提示框
//提示框 UIActionSheet
//提示框的显示位置及大小都是固定的 无需手动设置
//提示框默认的显示位置 在屏幕底部 以上弹的动画效果出现
//destructiveButton和 UIAlertView中cancelButton相同 下标值都为0
//actionSheet上的按钮的下标 从上到下逐渐变大
UIActionSheet * sheet = [[UIActionSheet alloc]initWithTitle:@"获取图片" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitles:@"拍照",@"从相册中获取",@"从本地获取图片", nil];
//将actionSheet添加当前视图上
[sheet showInView:self.view]; // 提示框加入视图的方式
/点击actionSheet上的按钮 触发协议中的方法
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
======================================================================================================
//分段控件 UISegmentControl
//<1>创建分段控件的对象
UISegmentedControl * segment = [[UISegmentedControl alloc]initWithItems:@[@"red",@"blue",@"green"]];
//<2>设置分段控件的显示位置
segment.frame = CGRectMake(10, 200, 300, 40);
//<3>为分段控件填充颜色
segment.tintColor = [UIColor magentaColor];
//<4>设置默认选中的分段
segment.selectedSegmentIndex = 0;
//<5>为分段控件插入一个子段
[segment insertSegmentWithTitle:@"new" atIndex:0 animated:YES];
//<6>为控件添加点击事件
[segment addTarget:self action:@selector(pressSegment:) forControlEvents:UIControlEventValueChanged];
======================================================================================================
web视图控制器
//网页控件 用来显示网页信息 UIWebView
//<1>创建网页视图对象
UIWebView * web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
//<2>获取显示网页的网址
NSString * path = @"http://10.0.8.8";
//<3>将字符串网址转化成NSURL
NSURL * url = [NSURL URLWithString:path];
//<4>将网址下的数据封装成请求对象
NSURLRequest * request = [NSURLRequest requestWithURL:url];
//<5>将请求下来的数据放在webView上
[web loadRequest:request];
//<6>将web添加到当前视图上
[self.view addSubview:web];
======================================================================================================
//<1>创建slider对象
UISlider * slider1 = [[UISlider alloc]initWithFrame:CGRectMake(10, 100, 300, 20)];
//<2>设置slider的最小值
slider1.minimumValue = 0;
//<3>设置slider的最大值
slider1.maximumValue = 1;
//<4>设置slider的初始值
slider1.value = 0;
//<5>设置slider左侧的颜色
slider1.minimumTrackTintColor = [UIColor redColor];
//<6>设置slider右侧的颜色
slider1.maximumTrackTintColor = [UIColor cyanColor];
//<7>设置slider的触发事件
[slider1 addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged];
slider1.tag = 100;
[self.view addSubview:slider1];
UISlider * slider2 = [[UISlider alloc]initWithFrame:CGRectMake(10, 300, 300, 40)];
slider2.minimumValue = 0;
slider2.maximumValue = 1;
slider2.value = 0;
//<8>添加左侧图片
slider2.minimumValueImage = [UIImage imageNamed:@"tab_c1.png"];
//<9>添加右侧图片
slider2.maximumValueImage = [UIImage imageNamed:@"tab_c3.png"];
//<10>添加按钮图片
[slider2 setThumbImage:[UIImage imageNamed:@"tab_c0.png"] forState:UIControlStateNormal];
[slider2 addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:slider2];
======================================================================================================
-(void)createSwitch
{
//<1>创建开关控件对象
UISwitch * switchView = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 100, 30)];
//<2>设置开关控件的状态(开、关)
switchView.on = NO;
//<3>设置开关控件开的时候的背景颜色
switchView.onTintColor = [UIColor cyanColor];
//<4>设置开关控件关闭的时候的背景颜色
switchView.tintColor = [UIColor yellowColor];
//<5>设置开关按钮的颜色
switchView.thumbTintColor = [UIColor redColor];
//<6>为switch控件添加点击事情
[switchView addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:switchView];
}
-(void)switchChanged:(id)sender
{
//获取开关
UISwitch * switchView = (UISwitch *)sender;
//获取活动指示器
UIActivityIndicatorView * activity = (UIActivityIndicatorView *)[self.view viewWithTag:998];
if(switchView.isOn)//打开的状态
{
activity.hidden = NO;
//开启活动指示器的动画效果
[activity startAnimating];
}
else
{
[activity stopAnimating];
//因为前面已经设置了活动指示器在停止动画的时候 隐藏 所以此处无需过多设置
}
}
======================================================================================================
-(void)createActivity
{
//<1>活动指示器 不能与用户进行交互
/*
UIActivityIndicatorViewStyleWhiteLarge,
UIActivityIndicatorViewStyleWhite,
UIActivityIndicatorViewStyleGray,
*/
UIActivityIndicatorView * activity = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
//<2>活动指示器默认隐藏
activity.hidden = YES;
//<3>活动指示器动画停止的时候隐藏
activity.hidesWhenStopped = YES;
activity.tag = 998;
activity.frame = CGRectMake(100, 200, 100, 100);
[self.view addSubview:activity];
}
======================================================================================================
//选择视图上所有内容要使用数组存放
NSArray * dataSource1;
NSArray * dataSource2;
//创建选择视图对象
UIPickerView * picker;
//<1>初始化数据源
dataSource1 = @[@"星期1",@"星期2",@"星期3",@"星期4",@"星期5",@"星期6",@"星期日"];
dataSource2 = @[@"空气",@"水",@"植物",@"动物",@"石头"];
//<2>初始化选择视图对象
picker = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 300, 320, 180)];
picker.backgroundColor = [UIColor greenColor];
//<3>设置代理
picker.delegate = self;
picker.dataSource = self;
//<4>添加picker视图
[self.view addSubview:picker];
//获取每一列选中的行的行号
int row1 = [picker selectedRowInComponent:0];
int row2 = [picker selectedRowInComponent:1];
//实现协议中的方法 ----- 必须实现
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
//设置picker的显示列数
return 2;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
//设置每一列显示的行数 列号从0开始
if(component == 0)
{
return dataSource1.count;
}
else
{
return dataSource2.count;
}
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
//设置每一列的每一行显示的信息
//列号从0开始 行号也是从0开始
if(component == 0)
{
return [dataSource1 objectAtIndex:row];
}
else
{
return [dataSource2 objectAtIndex:row];
}
}