UI第六课
来源:互联网 发布:开淘宝网店怎么弄客服 编辑:程序博客网 时间:2024/06/05 17:44
主要内容:UIControl及其子类(UISegmentedControl、UISlider、UIImageView的使用)
一、UISegmentedControl(分段控件)的用法
示例:
// 创建对象
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@“登录”, @“注册”, @“找回密码”]]; // 初始化时加入item
// 设置大小和位置
segmentedControl.frame = CGRectMake(20, 20, 280, 30);
// 设置选中的颜色
segmentedControl.tintColor = [UIColor redColor];
// 设置默认选中项,一般是从0开始
segmentedControl.selectedSegmentedIndex = 1;
// 设置样式
segmentedControl.segmentedControlStyle = UISegmentControlStylePlain;
/*
typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
UISegmentedControlStylePlain, // large plain
UISegmentedControlStyleBordered, // large bordered
UISegmentedControlStyleBar, // small button/nav bar style.tintable
UISegmentedControlStyleBezeled, // DEPRECATED. Do not use this style.
};
*/
// 设置点击后是否回归原样,默认是NO,不恢复
segmentedControl.momentary = NO;
// 根据Index设置名称
[segmentedControl setTitle:@"NO1" forSegmentAtIndex:0];
[segmentedControl setTitle:@"NO2" forSegmentAtIndex:1];
[segmentedControl setTitle:@"NO3" forSegmentAtIndex:2];
[segmentedControl setTitle:@"NO5" forSegmentAtIndex:3];
// 根据索引位置图片
[segmentedControl setImage:[UIImage imageNamed:@“b.jpg”] forSegmentAtIndex:2];
/ / 在指定位置插入一个,并使用动画
[segmentedControl insertSegmentWithTitle:@"KO" atIndex:2 animated:YES];
// 指定索引移除一个,使用动画
[segmentedControl removeSegmentAtIndex:1 animated:YES];
// 设置指定索引位置的宽度
[segmentedControl setWidth:100 forSegmentAtIndex:1];
// 根据索引设置文字的位置
[segmentedControl setContentOffset:CGSizeMake(5.0, -5) forSegmentAtIndex:1];
// 获取指定索引上显示的文字 NO1
NSLog(@"%@", [segmentedControl titleForSegmentAtIndex:0]);
// 获取总共有多少项
NSLog(@"%u", segmentedControl.numberOfSegments);
// 根据索引获取那一项的宽度
NSLog(@"%f", [segmentedControl widthForSegmentAtIndex:1]);
// 判断索引项是否可选
NSLog(@"%i", [segmentedControl isEnabledForSegmentAtIndex:2]);
// 设置索引项不可选
[segmentedControl setEnabled:NO forSegmentAtIndex:2];
// 添加监听事件
[segmentedControl addTarget:self action:@selector(segmentedControlAction:) forControlEvents:UIControlEventValueChanged];
// 移除其中全部项
[segmentedControl removeAllSegments];
// 添加到View上,并释放内存
[self.view addSubview:segmentedControl];
[segmentedControl release];
segmentedControl = nil;
#pragma mark - 实现oneSegmentedControl的监听事件
- (void)segmentedControlAction:(UISegmentedControl *) sender {
// 获取当前的选中项的索引值
NSUInteger index = sender.selectedSegmentIndex;
// 判断索引值
switch (index) {
case 0:
NSLog(@"第一个选项被选中");
break;
case 1:
NSLog(@"第二个选项被选中");
break;
case 2:
NSLog(@"第三项被选中");
break;
case 3:
NSLog(@"第四项被选中");
break;
default:
break;
}
}
二、UISlider滑竿
UISlider是iOS中的滑块控件
通常用于控制视频播放控制音乐等
示例:
// 创建对象
UISlider *slider = [[UISlider alloc] init];
// 设置位置和大小
slider.frame = CGRectMake(20, 50, 260, 30);
// 设置最小值
slider.minimumValue = 0;
// 设置最大值
slider.maximumValue = 200;
// 设置初始值,即小圆球初始在的位置(注意:如果要设置初始值的话,应该再定义了最大值、最小值之后再定义,否则没有效果)
slider.value = 30;
// 设置背景颜色
slider.backgroundColor = [UIColor redColor];
// 设置透明度
slider.alpha = 0.6;
// 设置标签,常用于委托
slider.tag = 1001;
// 给slider添加事件
[slider addTag:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChange];
// 自定义slider
1、先清除背景色
slider.background = [UIColor clearColor];
2、添加最小值、最大值图片
[slider setMinimumTrackImage:[UIImage imageNamed:@“min.png”]];
[slider setMaximumTrackImage:[UIImage imageNamed:@“max.png”]];
// 添加到View上并释放内存
[self.view addSubview:slider];
[slider release];
slider = nil;
三、UIControl的作用
UIControl是所有控制控件(如UIButton、UISlider、UISegmentedControl等)的基类
注意:只要根控制有关的控件都是继承与该类
核心功能:为控制控件通过addTarget:action:forControlEvents:方法来添加事件
通过removeTarget:action:forControlEvents:来移除事件
四、继承关系图
- UI第六课
- UI第六天
- UI学习 第六章 UITableView
- Lance老师UI系列教程第六课->微信聊天气泡界面的实现
- Lance老师UI系列教程第六课->微信聊天气泡界面的实现
- Lance老师UI系列教程第六课->微信聊天气泡界面的实现
- Lance老师UI系列教程第六课->微信聊天气泡界面的实现
- UI初级第六课 Tab 控制器(标签控制器)——iOS学习连载21
- 第六回 JavaFX2.0 UI 控件
- iOS-学习笔记-UI-第六天
- IOS开发UI阶段 第六周
- UI第六天::UIControl及其⼦类
- UI 第六天 UISegmentControl UISlider UIImageView
- UI进阶第六天,绘制图形
- 第六课
- 第六课
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(一)
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(二)
- 9个完整android开源app项目
- HBase总结(十九)数据导入方式
- Ubuntu默认root密码
- Ambari系列(一):在离线环境中自动化安装Hadoop集群
- Foundation框架基础 NSString
- UI第六课
- FAT32学习笔记(三)文件的删除,目录的删除,FAT32表的用途,FsInfo的作用
- 黑马程序员──反射
- atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
- foundation框架基础 NSMutableString 可变字符串
- 电力系统决策支持系统
- ListView中排序和分组(GroupTemplate)的使用实例演示
- 伸展树hdu4453(good)
- SQL总结(一)基本查询