IOS UI学习 UI 十个小控件 初度学习

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

IOS UI学习 UI 十个小控件 初度学习的相关文章

android学习笔记(2)EditText控件的学习

对应若水老师的第五课 一,设置一个输入框 添加控件: <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="52dp" <!--本控件顶部距离上一个控件的距离--> /> 二,消除输入框的聚焦 方法一: <EditText android:layout_wi

android学习笔记(3)Button控件的学习

对应若水老师的第六课 一,加入一个button并用外部类绑定事件 //XML文件: <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:text="扣子1&qu

UI各种小控件的使用方法

今天给大家列举出来UI中的一些小控件的使用方法,方便大的学习与使用 一些方法和属性我们可以查看API文档,不必将每个控件的功能都记住, 因为在使用的过程中,我们可以查看API文档,方便使用,我们只要记住常见的一些方法 这里列举几个例子,其他的还要靠自己在下面学习 1.分段控制器 // // UISegmentedControl.h // UIKit // // Copyright (c) 2005-2014 Apple Inc. All rights reserved. // #import <

Android UI设计之&lt;十一&gt;自定义ViewGroup,打造通用的关闭键盘小控件ImeObserverLayout

转载请注明出处:http://blog.csdn.net/llew2011/article/details/51598682 我们平时开发中总会遇见一些奇葩的需求,为了实现这些需求我们往往绞尽脑汁有时候还茶不思饭不香的,有点夸张了(*^__^*)--我印象最深的一个需求是在一段文字中对部分词语进行加粗显示.当时费了不少劲,不过还好,这个问题最终解决了,有兴趣的童靴可以看一下:Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示. 之前产品那边提了这样

UI学习第二篇 (控件)

UIbutton 也是一个控件,它属于UIControl 用的最多的就是事件响应 1. //创建按钮对象 UIButton * _botton = [UIButton buttonWithType:UIButtonTypeCustom]; //设置标题 [_botton setTitle:@"按住说话" forstate:UIControlStateNormal]; [_botton setTitle:@"松开说话" forstate:UIControlStateH

iOS开发UI篇—自定义瀑布流控件(蘑菇街数据刷新操作)

iOS开发UI篇—自定义瀑布流控件(蘑菇街数据刷新操作) 一.简单说明 使用数据刷新框架: 该框架提供了两种刷新的方法,一个是使用block回调(存在循环引用问题,_ _weak),一个是使用调用. 问题:在进行下拉刷新之前,应该要清空之前的所有数据(在刷新数据这个方法中). 移除正在显示的cell: (1)把字典中的所有的值,都从屏幕上移除 (2)清除字典中的所有元素 (3)清除cell的frame,每个位置的cell的frame都要重新计算 (4)清除可复用的缓存池. 该部分的代码如下: 1

iOS开发UI篇—DatePicker和UIToolBar控件简单介绍

iOS开发UI篇—DatePicker和UIToolBar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何改成中文的? (1)查看当前系统是否为中文的,把模拟器改成是中文的 (2)属性,locale选择地区 如果默认显示不符合需求.时间有四种模式可以设置,在model中进行设置 时间可以自定义(custom). 设置最小时间和最大时间,超过就会自动回到最小时间. 最大的用途在于自定义键盘:弹出一个日期选择器

iOS开发UI篇—自定义瀑布流控件(基本实现)

iOS开发UI篇—自定义瀑布流控件(基本实现) 一.基本实现 说明:在View加载的时候,刷新数据. 1.实现代码 YYViewController.m文件 1 // 2 // YYViewController.m 3 // 06-瀑布流 4 // 5 // Created by apple on 14-7-28. 6 // Copyright (c) 2014年 wendingding. All rights reserved. 7 // 8 9 #import "YYViewControll

iOS开发UI篇—自定义瀑布流控件(蘑菇街实现)

iOS开发UI篇—自定义瀑布流控件(蘑菇街瀑布流) 一.简单说明 关于瀑布流 1.是使用UIScrollView实现的 2.刷新数据(reloadData)方法里面做哪些事情 3.layoutSubviews方法里面做哪些事情 4.模仿UItableView进行设计 完善: 瀑布流控件第一次显示到屏幕上的时候自动的向数据源索要数据,而不需要手动调用.这需要监听View的显示,View的显示有一个方法,叫做willMoveToSuperview:在该方法中直接刷新一次数据即可. 二.把自定义的瀑布