- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.UISwitch *swit = [[UISwitch alloc] initWithFrame:CGRectMake(20, 300, 100, 20)];[self.view addSubview:swit];// 3. (开关按钮)圆圈的颜色swit.thumbTintColor = [UIColor yellowColor];// switch 宽和高不影响控件, 只有x和y// 1. 开启时的控件内部颜色swit.onTintColor = [UIColor blueColor];// 2. 边框及切换到关闭的时的颜色(non_resettable)swit.tintColor = nil;// 4. 打开时的图片, ios7后失效swit.onImage = [UIImage imageNamed:@"456"];// 5. 关闭时的图片, 也失效swit.offImage = [UIImage imageNamed:@"456"];// 6. 判断switchControl的开闭状态// 通过setter方法, 给变switchControl的初始状态swit.on = YES;NSLog(@"%@", swit.isOn ? @"yes" : @"no");[swit setOn:YES animated:NO];// 添加绑定事件(与button相同)
    [swit addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];// slider// 高度不影响控件的高度, 这个控件永远居中与视图中间UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 100, 100, 20)];[self.view addSubview:slider];// slider.minimumValueImage = [UIImage imageNamed:@"456"];// 1. 滑块最大值和最小值, 最大和最小可以根据需求去改变slider.maximumValue = 200.0f;// 2. 当前滑块的值slider.value = 50.0f;[slider setValue:100 animated:YES];// 3. 最小值和最大值显示的图片//  maximumValueImage  minimumValueImage// 4. containous 为no时, 只在按下和松手是触发方法slider.continuous = NO;NSLog(@"%@", slider.isContinuous ? @"yes" : @"no");// 5. 绑定事件
    [slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];CGRect rect = [slider maximumValueImageRectForBounds:slider.bounds];NSLog(@"%f, %f", rect.size.width, rect.size.height);// 8. maximumTrackTintColor 未移动到的区域的颜色slider.maximumTrackTintColor = [UIColor blueColor];// 9. minimumTrackTintColor 已移动的区域的颜色slider.minimumTrackTintColor = [UIColor whiteColor];// 10. 滑块的颜色// slider.thumbTintColor = [UIColor blueColor];// 11. 设置进度条滑块左边的图片[slider setMinimumTrackImage:[UIImage imageNamed:@"player_slider_playback_right"] forState:UIControlStateNormal];// 12. 设置进度条滑块右边的图片[slider setMaximumTrackImage:[UIImage imageNamed:@"player_slider_playback_left"] forState:UIControlStateNormal];// 13. 设置圆圈的图片[slider setThumbImage:[UIImage imageNamed:@"player_slider_playback_thumb"] forState:UIControlStateNormal];self.seg = [[UISegmentedControl alloc] initWithItems:@[@"first", @"second", @"last", @"one", @"two"]];// segment不给frame, 系统会自动计算大小, 推荐, 自己加上frameself.seg.frame = CGRectMake(0, 0, 600, 50);[self.view addSubview:self.seg];// 1. momentary 设置为yes 如果点击选中没有选中的效果,// 默认为NOself.seg.momentary = YES;// 2. seg的控制段的数量NSInteger number = self.seg.numberOfSegments;NSLog(@"分段控制器的段数:(items的个数) %ld", number);// 3. remove 移除// 4. insertSegmentWithTitle:@"name" atIndex:2 animated:YES 插入// 5. setTitle:forSegmentAtIndex: 用来修改对应下标的标题// 6. setWidth:0 forSegmentAtIndex: 默认是0[self.seg setWidth:0 forSegmentAtIndex:0];// 7. setContentOffset:<#(CGSize)#> forSegmentAtIndex:<#(NSUInteger)#> 设置对应下标内容的偏移[self.seg setContentOffset:CGSizeMake(20, 0) forSegmentAtIndex:0];// 8. 能否被选中[self.seg setEnabled:NO forSegmentAtIndex:0];// 9. selectedSegmentIndex 开始选中的下标self.seg.selectedSegmentIndex = 1;// 10. tintColor文字及边框颜色self.seg.tintColor = [UIColor greenColor];// 11. apportionsSegmentWidthsByContent 默认为no// 如果分段控制器的段宽为0时, 并且该属性为YES, 系统会自动计算self.seg.apportionsSegmentWidthsByContent = YES;// 12. 绑定事件
    [self.seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];UIPageControl *page = [[UIPageControl alloc] initWithFrame:CGRectMake(10, 500, 100, 30)];page.backgroundColor = [UIColor blackColor];// 1. 分页控制器的页数 默认为 0page.numberOfPages = 5;// 2. 当前页page.currentPage = 3;// 3. 当只有一页的时候pageControl隐藏page.hidesForSinglePage = YES;// 4.CGSize size = [page sizeForNumberOfPages:4];NSLog(@"size++%@", NSStringFromCGSize(size));// 其他页的颜色page.pageIndicatorTintColor = [UIColor redColor];// 当前页的颜色page.currentPageIndicatorTintColor = [UIColor whiteColor];[self.view addSubview:page];// 绑定事件
    [page addTarget:self action:@selector(pageControllChange:) forControlEvents:UIControlEventValueChanged];// 设置为yes, 关闭系统事件page的切换, 直到调用updateCurrentPageDisplay的方法, 才会显示page.defersCurrentPageDisplay = YES;
}
- (void)pageControllChange:(UIPageControl *)page {NSLog(@"Change");[page updateCurrentPageDisplay];
}
- (void)segAction:(UISegmentedControl *)seg {NSLog(@"%ld", seg.selectedSegmentIndex);switch (seg.selectedSegmentIndex) {case 1:break;case 2:break;// ....default:break;}
}//
- (void)sliderAction:(UISlider *)slider {NSLog(@"%f", slider.value);}
- (void)switchAction:(UISwitch *)swit {NSLog(@"开关事件");[self.seg insertSegmentWithTitle:@"name" atIndex:2 animated:YES];[self.seg insertSegmentWithImage:[UIImage imageNamed:@"player_slider_playback_thumb"] atIndex:2 animated:YES];
}
- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}

转载于:https://www.cnblogs.com/mafeng/p/5685715.html

UIControl的子类UISwitch, UISegmentedCntrol, UIPageControl详解相关推荐

  1. java父类引用子类属性_Java多态性详解——父类引用子类对象

    面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作准备.那么什么是多 ...

  2. java 父类获取子类对象_Java多态性详解 (父类引用子类对象)

    面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作准备.那么什么是多 ...

  3. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ; 一. UI 控件简介 1. UI 控件分类 UI 控件分类 : 活 ...

  4. python代码案例详解-第7.20节 案例详解:Python抽象类之真实子类

    第7.20节 案例详解:Python抽象类之真实子类 上节介绍了Python抽象基类相关概念,并介绍了抽象基类实现真实子类的步骤和语法,本节结合一个案例进一步详细介绍. 一. 案例说明 本节定义了图形 ...

  5. Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    Python 在子类中调用父类方法详解(单继承.多层继承.多重继承)   by:授客 QQ:1033553122   测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...

  6. java多态性详解——父类引用子类对象

    Java的多态性 面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作 ...

  7. (119)System Verilog 父类与子类对象复制(自定义函数)详解

    (119)System Verilog 父类与子类对象复制(自定义函数)详解 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog 父类与子 ...

  8. (118)System Verilog 父类与子类对象复制(copy函数)详解

    (118)System Verilog 父类与子类对象复制(copy函数)详解 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog 父类与 ...

  9. python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...

    第7.19节 Python中的抽象类详解:abstractmethod.abc与真实子类 一. 引言 前面相关的章节已经介绍过,Python中定义某种类型是以实现了该类型对应的协议为标准的,而不是以继 ...

最新文章

  1. 生成公钥链接github
  2. CSS中的盒子阴影和文字阴影
  3. ffmpeg rtp时间戳
  4. java resources 目录_Maven项目中读取src/main/resources目录下的配置文件的方法
  5. 【转】温故之.NET 异步
  6. python从菜鸟到高手 pdf 百度云_Python从菜鸟到高手(4):导入Python模块
  7. 【To Do】程序员面试金典——18.11最大子方阵
  8. Katalon Recorder 自动录制 Selenium 爬虫脚本
  9. 计算机键盘指示灯不亮也不启动不了机,电脑开不开机,显示器无反应,键盘指示灯不亮,主...
  10. Label的常用属性设置和使用
  11. lio-sam框架:回环检测及位姿计算
  12. SendMessage用法
  13. IDEA+SpringBoot+Vue
  14. Perl语言中一些内置变量等,$、qw、cmp、eq、ne等
  15. 国际经济学——期末复习
  16. 你想知道你的计算机一秒能做多少次运算吗?
  17. CS全新一代SDNAND(又称贴片式T卡)如何让老款MCU焕发青春活力
  18. 女朋友可能的若干职业,您选择哪种女孩做女朋友?
  19. 2017.2.12 开涛shiro教程-第七章-与Web集成
  20. RS232的硬件流控:DCD DSR DTR RTS CTS

热门文章

  1. Heartbeat+DRBD+NFS案例详解
  2. Install 802.1x In Fedora
  3. eclipse安装Eclipse HTML Editor插件
  4. 探讨微软团队开发利器VSTS之安装及部署篇
  5. 二叉树的5种遍历方式
  6. Spring之AOP由浅入深
  7. 单元测试——第六周作业
  8. ZwQueryVirtualMemory暴力枚举进程模块
  9. hdu 2459 (后缀数组+RMQ)
  10. [ios]NSLock锁