Ios小控件
1、Segment
NSArray *titleArr = @[@"天",@"地",@"人"];
//数组要提前建好,里面可以保存一会儿显示出来的文字或者图片。
//这个文字的长度随意,一会儿segment的每一段的宽度会自适应。
UISegmentedControl *seg = [[UISegmentedControl alloc]initWithItems:titleArr];//用数组来初始化segment
seg.frame = CGRectMake(0, 64, 320, 40);
//整条frame。
[self.view addSubview:seg];
[seg release];
//设置初始位置
seg.selectedSegmentIndex = 1;//选中第一个seg。
//向segment中管插入一个新的按钮
[seg insertSegmentWithTitle:@"狗" atIndex:2 animated:YES];
//添加方法
[seg addTarget:self action:@selector(segmentValueChanged:) forControlEvents:UIControlEventValueChanged];
[self create2];
-(void)segmentValueChanged:(UISegmentedControl *)seg
{
NSString *str = [seg titleForSegmentAtIndex:seg.selectedSegmentIndex];
NSLog(@"%@",str);
}
2、stepper&UIProgress
// UIStepper
UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(0, 64, 320, 300)];
[self.view addSubview:stepper];
[stepper release];
//一些属性
stepper.minimumValue = 0;
stepper.maximumValue = 10;
//每一下走多少
stepper.stepValue= 1;
//添加方法
[stepper addTarget:self action:@selector(stepperValueChanged:) forControlEvents:UIControlEventValueChanged];
[self createStepper];
//--------------------------------------------------------//
//UIProgressView
//高度无效 就为9
UIProgressView *progress = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 150, 320, 300)];
[self.view addSubview:progress];
[progress release];
progress.progress = 0.0;//现在进度条的进度为0%。
progress.tag = 11000;
-(void)stepperValueChanged:(UIStepper *)stepper
{
NSLog(@"%f",stepper.value);
UIProgressView *progress = (UIProgressView *)[self.view viewWithTag:11000];
//算出来当前进度
float nowProgress = stepper.value/10.0;
progress.progress = nowProgress;
}
3、UIsWITCH & UIActivityIndicatorView
//这个的宽度和高度设置无效 79*27
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(0, 64, 320, 300)];
[self.view addSubview:mySwitch];
[mySwitch release];
mySwitch.on = YES;
//添加方法
[mySwitch addTarget:self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];
//-----------------------------------------------------//
//UIActivityIndicator
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
act.center = self.view.center ;
act.tag = 12000;
[self.view addSubview:act];
[act release];
self.view.backgroundColor = [UIColor redColor];
-(void)switchValueChanged:(UISwitch *)tempSwitch
{
UIActivityIndicatorView *temp = (UIActivityIndicatorView *)[self.view viewWithTag:12000];
NSLog(@"%d",tempSwitch.on);//0,1
if(tempSwitch.on)
{
[temp startAnimating];
}else
{
[temp stopAnimating];
}
}
4、UISlider
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 74, 320, 300)];
[self.view addSubview:slider];
[slider release];
//一些进度属性
slider.minimumValue = 0.0;//不谢默认也是0.0.
slider.maximumValue = 1.0;//一般是1.0.
//这样,某个位置就是一个百分数。比如音量。
//电影进度时间,则不能为0~1.
slider.value = 0.5;//设置出是默认值。
slider.continuous = YES;//设置是否随着拖动连续改变值。
//重点
//当数值发生改变的时候,创造一个方法。在这个方法中我们可以获得目前Value是多少。
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];//注意,这里用的是 UIControlEventValueChanged
-(void)sliderValueChanged:(UISlider *)slider
{
NSLog(@"%f",slider.value);
}//此方法只要value变化就调用。
5、UIActionSheet & UIAlertView
-(void)makeSheetBtn
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(160, 64, 160, 30);
[btn setTitle:@"sheet" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(sheetBtnDown) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
-(void)sheetBtnDown
{
UIActionSheet *sheet = [[UIActionSheet alloc]initWithTitle:@"我是" delegate:self cancelButtonTitle:@"取消"destructiveButtonTitle:@"OK" otherButtonTitles:@"人",@"狗",@"孩子", nil];
[sheet showInView:self.view];
[sheet release];
}
//此方法为代理方法,需要包含UIActionSheetDelegate
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"%d",buttonIndex);//默认destruc是0,cancel排在最后,剩下的以此类推。
//如果没有destruc,那么otherbtn里的第一个就是0.
}
-(void)makeAlertBtn
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(0, 64, 160, 30);
[btn setTitle:@"alert" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(alertBtnDown) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
-(void)alertBtnDown
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"这是标题" message:@"这是内容" delegate:self cancelButtonTitle:@"cnacel" otherButtonTitles:@"OK",@"OK2", nil];//第四个参数是取消按钮的标题,第五个是参考数组的写法一个一个的字符串,中间用逗号隔开,表示警报上面的其他按钮,如果没有其他按钮,则用nil。
[alert show];
[alert release];
}
//此方法为代理方法,需要包含UIAlertViewDelegate
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//cancelButtonTitle index默认是0,剩下的按钮的index按照初始化顺序来
NSLog(@"%d",buttonIndex);
详细用法参看程序/Users/qianfeng/liguoting/8.13/UIActionSheetAndUIAlertView/UIActionSheetAndUIAlertView/TempViewController.h