1. UISwitch 开关
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.view.backgroundColor = [UIColor whiteColor]; 5 self.title = @"开关"; 6 //开关创建 7 UISwitch * sw = [[UISwitch alloc]initWithFrame:CGRectMake(10, 100, 100, 100)]; 8 //设置开关的位置 9 sw.center = self.view.center; 10 sw.onTintColor = [UIColor yellowColor]; 11 //注册事件 绑定事件 12 13 //UIControlEventValueChanged 触发控件的事件 一旦触发就会让target 调用action方法 14 [sw addTarget:self action:@selector(changeColor:) forControlEvents:UIControlEventValueChanged]; 15 //开关的小圆点的颜色 16 sw.thumbTintColor = [UIColor blackColor]; 17 //设置开关状态 18 sw.on = YES; 19 [self.view addSubview:sw]; 20 21 } 22 23 -(void)changeColor:(UISwitch *)swi 24 { 25 //根据开关的ON属性来设置相应的事件 26 if (swi.on) 27 { 28 self.view.backgroundColor = [UIColor cyanColor]; 29 //onTintColor 镂空的颜色 30 swi.onTintColor = [UIColor blueColor]; 31 swi.tintColor = [UIColor orangeColor]; 32 } 33 else 34 { 35 self.view.backgroundColor = [UIColor whiteColor]; 36 } 37 }
2. UISlider 滑块
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.title = @"滑块"; 5 self.view.backgroundColor = [UIColor whiteColor]; 6 //创建滑块 7 UISlider * slider = [[UISlider alloc] initWithFrame:CGRectMake(10, 100, 350, 200)]; 8 //最好把值得范围设置在 0 和 1 之间 9 //最大值 10 slider.maximumValue = 1; 11 //最小值 12 slider.minimumValue = 0; 13 //滑块的当前值 14 slider.value = 0.6; 15 //小于滑块当前值得一边的颜色 16 slider.minimumTrackTintColor = [UIColor redColor]; 17 //大于滑块当前值得一边的颜色 18 slider.maximumTrackTintColor = [UIColor cyanColor]; 19 //点的颜色 20 slider.thumbTintColor = [UIColor grayColor]; 21 22 slider.backgroundColor = [UIColor lightGrayColor]; 23 24 //注册事件 绑定事件 25 [slider addTarget:self action:@selector(changeBackgroundColor:) forControlEvents:UIControlEventValueChanged]; 26 27 [self.view addSubview:slider]; 28 } 29 30 -(void)changeBackgroundColor:(UISlider*)slider 31 { 32 NSLog(@"%.2f",slider.value); 33 self.view.alpha = slider.value; 34 }
3. UIActivityIndicatorView 活动指示器 菊花控件
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.title = @"菊花"; 5 self.view.backgroundColor = [UIColor whiteColor]; 6 7 UIActivityIndicatorView * act = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(10, 100, 100, 100)]; 8 9 act.backgroundColor = [UIColor lightGrayColor]; 10 11 //设置菊花 控件的样式 三种 12 /* 13 14 typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { 15 UIActivityIndicatorViewStyleWhiteLarge, 16 UIActivityIndicatorViewStyleWhite, 17 UIActivityIndicatorViewStyleGray, 18 }; 19 20 */ 21 act.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray; 22 23 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 24 //开始动画 25 [act startAnimating]; 26 //结束动画 27 [act stopAnimating]; 28 act.center = self.view.center; 29 [self.view addSubview:act]; 30 31 } 32 33 //取消 通知栏中的小得 菊花控件 显示 在要退出的视图控制器中实现 34 -(void)viewWillAppear:(BOOL)animated 35 { 36 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 37 }
4. UIAlertView 弹窗
需要遵守协议 UIAlertViewDelegate
1 #import "ViewController4.h" 2 3 @interface ViewController4 () <UIAlertViewDelegate> 4 5 @end 6 7 @implementation ViewController4 8 9 - (void)viewDidLoad 10 { 11 [super viewDidLoad]; 12 self.view.backgroundColor = [UIColor whiteColor]; 13 self.title = @"弹窗"; 14 15 UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"美食" message:@"我是一专业的吃货" delegate:self cancelButtonTitle:@"不爱吃" otherButtonTitles:@"卡布奇诺",@"肉",@"驴肉火烧",@"干煸芸豆", nil]; 16 alert.delegate =self; 17 18 [alert show]; 19 20 } 21 22 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 23 { 24 switch (buttonIndex) 25 { 26 case 0://取消按钮 27 NSLog(@"%@",alertView.title); 28 [self.navigationController popToRootViewControllerAnimated:YES]; 29 break; 30 31 case 1: 32 NSLog(@"卡布奇诺"); 33 break; 34 35 case 2: 36 NSLog(@"肉"); 37 break; 38 39 case 3: 40 NSLog(@"驴肉火烧"); 41 break; 42 43 case 4: 44 NSLog(@"干煸芸豆"); 45 break; 46 default: 47 break; 48 } 49 }
5. UIProgressView 进度条
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.view.backgroundColor = [UIColor whiteColor]; 5 6 UIProgressView * progress = [[UIProgressView alloc] initWithFrame:CGRectMake(10, 100, 355, 100)]; 7 8 //设置样式 9 progress.progressViewStyle = UIProgressViewStyleBar; 10 11 progress.backgroundColor = [UIColor orangeColor]; 12 //进度 13 progress.progress = 0.2; 14 //未完成进度颜色 15 progress.trackTintColor = [UIColor lightGrayColor]; 16 //完成进度颜色 17 progress.progressTintColor = [UIColor cyanColor]; 18 //每 0.5 s 让 target 调用 selector方法 重复调用 19 // userInfo time 定时器 的触发信息 20 _time = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(changeProgress:) userInfo:progress repeats:YES]; 21 [self.view addSubview:progress]; 22 } 23 24 -(void)changeProgress:(NSTimer *)time 25 { 26 UIProgressView * progress = time.userInfo; 27 progress.progress += 0.1; 28 }
6. UIStepper 步进器
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.view.backgroundColor = [UIColor whiteColor]; 5 self.title = @"步进器"; 6 //大小固定 宽高 无效 7 UIStepper * stepper = [[UIStepper alloc] initWithFrame:CGRectMake(10, 100, 355, 100)]; 8 //注册事件 绑定事件 9 [stepper addTarget:self action:@selector(changeLabelValue:) forControlEvents:UIControlEventValueChanged]; 10 //步数 11 stepper.stepValue = 12 30; 13 //最大值 14 stepper.maximumValue = 100; 15 //最小值 16 stepper.minimumValue = 0; 17 18 //设置循环 19 stepper.wraps = YES; 20 [self.view addSubview:stepper]; 21 22 23 UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(10, 230, 355, 30)]; 24 label.text = @"0"; 25 label.backgroundColor = [UIColor whiteColor]; 26 label.textColor = [UIColor blackColor]; 27 label.textAlignment = NSTextAlignmentCenter; 28 29 30 label.tag = 100; 31 32 [self.view addSubview:label]; 33 34 } 35 36 -(void)changeLabelValue:(UIStepper *)stepper 37 { 38 UILabel * label = (id)[self.view viewWithTag:100]; 39 label.text = [NSString stringWithFormat:@"%.0f",stepper.value]; 40 }
7. UISegmentedControl 分段选择器
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.view.backgroundColor = [UIColor whiteColor]; 5 self.title = @"分段选择器"; 6 // 你以为马里奥是个简单的游戏吗 7 NSArray * arr = [[NSArray alloc] initWithObjects:@"马里奥",@"路易吉",@"奇诺比奥",@"耀西", nil]; 8 9 //创建 10 UISegmentedControl * segmented = [[UISegmentedControl alloc] initWithItems:arr]; 11 segmented.frame = CGRectMake(10, 100, 355, 50); 12 //默认选择的 下标从0开始 不设置 则默认谁都不选择 13 segmented.selectedSegmentIndex = 2; 14 15 // segmented.tintColor = [UIColor cyanColor]; 16 [self.view addSubview:segmented]; 17 //插入 18 [segmented insertSegmentWithTitle:@"库巴" atIndex:2 animated:YES]; 19 //删除项 20 [segmented removeSegmentAtIndex:2 animated:YES]; 21 22 //注册事件 绑定事件 23 [segmented addTarget:self action:@selector(changeObj:) forControlEvents:UIControlEventValueChanged]; 24 25 [segmented removeSegmentAtIndex:2 animated:YES]; 26 } 27 28 -(void)changeObj:(UISegmentedControl *)segmented 29 { 30 if (segmented.selectedSegmentIndex == 0) 31 { 32 NSLog(@"马里奥"); 33 } 34 else if(segmented.selectedSegmentIndex == 1) 35 { 36 [segmented insertSegmentWithTitle:@"库巴" atIndex:2 animated:YES]; 37 } 38 }
8. UITextView 文本显示框
需要遵守 协议 UITextViewDelegate
1 #import "ViewController8.h" 2 3 @interface ViewController8 () <UITextViewDelegate> 4 5 @end 6 7 @implementation ViewController8 8 9 - (void)viewDidLoad 10 { 11 [super viewDidLoad]; 12 self.view.backgroundColor = [UIColor cyanColor]; 13 self.title = @"文本显示框"; 14 15 UITextView * textV = [[UITextView alloc] initWithFrame:CGRectMake(10, 70, 355, 200)]; 16 17 //继承于UIScrollView √√√√√ 18 textV.textAlignment = NSTextAlignmentLeft; 19 textV.font = [UIFont systemFontOfSize:15]; 20 // 可以设置textView的留白 21 self.automaticallyAdjustsScrollViewInsets = NO; 22 23 textV.textColor = [UIColor blueColor]; 24 textV.delegate = self; 25 26 [self.view addSubview:textV]; 27 28 } 29 30 31 32 #pragma mark 协议方法 33 -(void)textViewDidBeginEditing:(UITextView *)textView 34 { 35 36 } 37 -(void)textViewDidChange:(UITextView *)textView 38 { 39 40 } 41 -(void)textViewDidChangeSelection:(UITextView *)textView 42 { 43 44 } 45 46 -(void)textViewDidEndEditing:(UITextView *)textView 47 { 48 49 } 50 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 51 { 52 return YES; 53 } 54 -(BOOL)textViewShouldBeginEditing:(UITextView *)textView 55 { 56 //将要编辑 57 return YES; 58 } 59 -(BOOL)textViewShouldEndEditing:(UITextView *)textView 60 { 61 // 62 return YES; 63 } 64 65 66 - (void)didReceiveMemoryWarning 67 { 68 [super didReceiveMemoryWarning]; 69 // Dispose of any resources that can be recreated. 70 } 71 72 @end
9. UIWebView 网页显示控件
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 5 self.view.backgroundColor = [UIColor blueColor]; 6 self.title = @"网页显示控件"; 7 8 UIWebView * webV = [[UIWebView alloc] initWithFrame:self.view.frame]; 9 NSString * str = @"http://www.baidu.com"; 10 //转网址 11 NSURL * url = [NSURL URLWithString:str]; 12 //请求 13 NSURLRequest * quest = [NSURLRequest requestWithURL:url]; 14 //加载数据 15 [webV loadRequest:quest]; 16 17 [self.view addSubview:webV]; 18 }
10. UIActionSheet 底部弹窗
需要 遵守协议 UIActionSheetDelegate
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.view.backgroundColor = [UIColor whiteColor]; 5 // 通过一个按钮的点击 调出 UIActionSheet 6 UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom]; 7 btn.frame = CGRectMake(10, 100, 100, 40); 8 btn.backgroundColor = [UIColor cyanColor]; 9 [btn addTarget:self action:@selector(shared:) forControlEvents:UIControlEventTouchUpInside]; 10 btn.tag = 100; 11 [self.view addSubview:btn]; 12 } 13 14 15 -(void)shared:(UIButton*)btn 16 { 17 //创建 需要遵守协议 UIActionSheetDelegate 18 UIActionSheet * sheet = [[UIActionSheet alloc] initWithTitle:@"分享" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"微信" otherButtonTitles:@"新浪微博",@"百度贴吧",@"豆瓣一刻", nil]; 19 20 //设置 sheet 显示 21 [sheet showInView:self.view]; 22 } 23 24 -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 25 { 26 UIButton * btn = (id)[self.view viewWithTag:100]; 27 if (buttonIndex == 0) 28 { 29 NSLog(@"微信"); 30 btn.backgroundColor = [UIColor greenColor]; 31 } 32 else if(buttonIndex == 1) 33 { 34 NSLog(@"新浪微博"); 35 btn.backgroundColor = [UIColor redColor]; 36 } 37 else if(buttonIndex == 2) 38 { 39 NSLog(@"百度贴吧"); 40 btn.backgroundColor = [UIColor blueColor]; 41 } 42 else if(buttonIndex == 3) 43 { 44 NSLog(@"豆瓣一刻"); 45 btn.backgroundColor = [UIColor greenColor]; 46 } 47 else if(buttonIndex == 4) 48 { 49 NSLog(@"取消"); 50 btn.backgroundColor = [UIColor blackColor]; 51 } 52 }
11. UIAlertController 弹窗控制器
1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 self.view.backgroundColor = [UIColor whiteColor]; 5 6 //// 通过一个按钮的点击 调出 UIAlertController 7 UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom]; 8 btn.frame = CGRectMake(10, 100, 100, 40); 9 btn.backgroundColor = [UIColor cyanColor]; 10 [btn addTarget:self action:@selector(alertV:) forControlEvents:UIControlEventTouchUpInside]; 11 btn.tag = 100; 12 [self.view addSubview:btn]; 13 14 } 15 16 -(void)alertV:(UIButton *)btn 17 { 18 UIAlertController * alertC = [UIAlertController alertControllerWithTitle:@"能力者" message:@"正义联盟" preferredStyle:UIAlertControllerStyleAlert]; 19 //preferredStyle UIAlertController 20 //两种 21 22 /* 23 24 typedef NS_ENUM(NSInteger, UIAlertControllerStyle) { 25 UIAlertControllerStyleActionSheet = 0, 26 UIAlertControllerStyleAlert 27 } NS_ENUM_AVAILABLE_IOS(8_0); 28 29 */ 30 [alertC addAction:[UIAlertAction actionWithTitle:@"超人" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 31 NSLog(@"I am SuperMan"); 32 }]]; 33 34 [alertC addAction:[UIAlertAction actionWithTitle:@"钢铁侠" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 35 NSLog(@"I am iconMan"); 36 }]]; 37 38 [alertC addAction:[UIAlertAction actionWithTitle:@"斯凯" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 39 NSLog(@"I am Skey"); 40 }]]; 41 42 //UIAlertActionStyleDestructive 变红 43 [alertC addAction:[UIAlertAction actionWithTitle:@"郑吒" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) { 44 NSLog(@"你们这些人,凡人的智慧"); 45 }]]; 46 // UIAlertController 是一个控制器 , 可以推出 使用 present 47 [self presentViewController:alertC animated:YES completion:nil]; 48 49 //按钮 样式 50 //三种 51 /* 52 53 typedef NS_ENUM(NSInteger, UIAlertActionStyle) { 54 UIAlertActionStyleDefault = 0, 55 UIAlertActionStyleCancel, 56 UIAlertActionStyleDestructive 57 } 58 59 */ 60 }
时间: 2024-12-23 14:01:31