6.3 几个控件以及Block的使用
来源:互联网 发布:空间站软件下载 编辑:程序博客网 时间:2024/06/07 11:24
1,UILabel ,
2,UISegmentedControl ,UISwitch,UISlider,UIProgress,
3,UIActivityIndicatorView,
4,UIAlertView
5,UIAlertViewDelegate
6,Block
#pragma mark - UILabel 文本自适应 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 300, 200, 0)]; // 设置文本 label.text = @"你好,UI!你好,UI!你好,UI!你好,UI!你好,UI!你好,UI!你好,UI!你好,UI!"; // 设置无限行数 label.numberOfLines = 0; // 系统自动适应当前文本,并且设置相应大小 [label sizeToFit]; // 添加到父视图 [self.view addSubview:label];
#pragma mark - UISegmentedControl 分段控件 UISegmentedControl *segControl = [[UISegmentedControl alloc]initWithItems:@[@"红色",@"蓝色"]]; //设置中心点 segControl.center = CGPointMake(187, 40); // 添加到父视图 [self.view addSubview:segControl]; // 设置主色调 segControl.tintColor = [UIColor purpleColor]; // 添加事件: [segControl addTarget:self action:@selector(stream:handleEvent:) forControlEvents:UIControlEventValueChanged];
#pragma mark - UISwith 开关 UISwitch *switchControl = [[UISwitch alloc]init]; //设置中心点 switchControl.center = CGPointMake(100, 400); //添加到视图 [self.view addSubview:switchControl]; // 设置主色调 switchControl.tintColor = [UIColor lightGrayColor]; //开启色调 switchControl.onTintColor = [UIColor brownColor]; //设置按钮色调 switchControl.thumbTintColor = [UIColor purpleColor]; //添加事件 [switchControl addTarget:self action:@selector(handleEvent:) forControlEvents:UIControlEventValueChanged];
#pragma mark - UISlider 滑条 UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 200, 375, 20)]; // //slider.center = CGPointMake(100, 190); [self.view addSubview:slider]; //添加按钮颜色 slider.thumbTintColor = [UIColor redColor]; //设置色调 slider.maximumTrackTintColor = [UIColor whiteColor]; slider.minimumTrackTintColor = [UIColor blueColor]; //添加事件 [slider addTarget:self action:@selector(handleEvent:) forControlEvents:UIControlEventValueChanged];
#pragma mark - UIProgress 进度条 UIProgressView *progeressView = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 200, 375, 20)]; [self.view addSubview:progeressView]; // 设置颜色 progeressView.trackTintColor = [UIColor redColor]; progeressView.progressTintColor = [UIColor blueColor]; // 设置标签值 progeressView.tag = 100;
#pragma mark - UIActivityIndicatorView 活动指示器 UIActivityIndicatorView *indicatorView = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; [indicatorView setBounds:CGRectMake(9, 9, 30, 30)]; [indicatorView setCenter:CGPointMake(180, 400)]; [self.view addSubview:indicatorView]; //设置停止时候是否隐藏(默认yes) indicatorView.hidesWhenStopped = NO; //开启动画 [indicatorView startAnimating]; //进行关联 self.indicatorView = indicatorView; // 延迟调用方法(dis-after) dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"hihi"); [self.indicatorView stopAnimating];
#pragma mark - UIAlertView警告框 UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"八嘎" message:@"要停了" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; //展示 [alertView show]; // }); //}#pragma mark - UIAlertViewDelegate- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ if (buttonIndex == 0) { NSLog(@"取消"); } else { NSLog(@"确定"); }}
- (void)handleEvent:(id)sender { if ([sender isKindOfClass:[UISegmentedControl class]]) { // 强转 UISegmentedControl *seg = (UISegmentedControl *)sender; if (seg.selectedSegmentIndex == 0) { self.view.backgroundColor = [UIColor blueColor]; } else { self.view.backgroundColor = [UIColor grayColor]; } }else if ([sender isKindOfClass:[UISwitch class]]) { UISwitch *switchControl = (UISwitch *)sender;//弱引用 if (switchControl.isOn) { self.view.backgroundColor = [UIColor blueColor]; } else { self.view.backgroundColor = [UIColor grayColor]; } } else if([sender isKindOfClass:[UISlider class]]){ UISlider *slider = (UISlider *)sender; self.view.alpha = 1 - slider.value; //通过标签获取视图 UIProgressView *progressView = (UIProgressView *)[self.view viewWithTag:100]; progressView.progress = slider.value; }}
#pragma mark - Block //概念:匿名函数(一般用于回调)网络请求 //函数指针与指针函数 //无参无返回值 void (^block) () = ^ { NSLog(@"hello"); }; //调用 block(); //有参数 void (^logMaxValue)(int a, int b) = ^(int a, int b) { int max = a > b ? a : b; NSLog(@"max = %d",max); }; logMaxValue(10 , 100);#pragma mark - block 中变量 __block int a = 100; __block char *str = "hello"; char *str1 = "hello"; void (^testBlock)() = ^ { NSLog(@"%d",a); NSLog(@"str = %s,str1 = %s",str,str1); a = 100; }; str = "world"; str1 = "world"; a =50; testBlock();
0 0
- 6.3 几个控件以及Block的使用
- block的定义和使用,以及block与数组排序
- iOS Block的基本使用以及Block传值
- MFC几个控件的使用
- UI控件与Block的灵活使用
- block的声明创建以及使用
- 使用MsFlexGrid控件的几个函数
- 使用MsFlexGrid控件的几个函数
- 使用MsFlexGrid控件的几个函数
- vc2003中几个基本控件的使用
- 使用窗体控件的几个总结
- Android中几个控件的使用
- 日期控件的使用以及控件定位
- UI控件--推送,以及Block块
- block使用时的一些情况以及防止循环引用
- 枚举 以及 block的定义
- spark中的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。
- ios block一定会范的几个错误
- C/C++语言统计文件中单词出现个数
- Ogre Moc笔记
- VS2010 静态链接库的创建与使用
- JDK动态代理为什么必须针对接口
- c语言一起学习之建立头文件
- 6.3 几个控件以及Block的使用
- sbl1功能模块 -- 共享内存
- Hibernate 注解
- Android开发问题集锦
- Multiply Strings leetcode 43
- SSH框架搭建与项目实践步骤
- sbl1功能模块 -- 重启与下载模式
- Hadoop之——正常启动而无法正常关闭
- 二叉树、HuffmanTree、HuffmanCode的实现