##DAY5 UIControl及其子类
##DAY5 UIControl及其子类
#pragma mark ———————UIControl———————————
UIControl初识:
1)UIControl是有控制功能的视图(比如UIButton、UISlider、UISegmentedControl等)的父类
2)只要跟控制有关的控件都是继承于该类
3)UIControl这个类通常我们并不直接使用,而是使用其子类
事件响应的三种形式:基于触摸、基于值、基于编辑
注意:
UIBUtton基于触摸,UITextField基于编辑,其他继承自UIControl的基于值
Control的事件处理:
//当控件之内触摸抬起时触发
UIControlEventTouchUpInside
//当控件的值发⽣变化时。⽤于滑块、分段控件等控件。
UIControlEventValueChanged
//⽂本控件中开始编辑时
UIControlEventEditingDidBegin
//⽂本控件中的⽂本被改变
UIControlEventEditingChanged
//⽂本控件中编辑结束时
UIControlEventEditingDidEnd
UIControl常用方法:
1)添加一个事件
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
2)移除一个事件
- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
#pragma mark ———————UISegmentedControl———————————
UISegmentedControl的属性和方法:
属性:
frame 布局
selectedSegmentIndex 设置默认被选中的分段
tintColor 设置标签风格颜色,注意:这个风格颜色会影响标签的文字和图片
momentary 点击后是否恢复原样,默认NO,分段控件的默认行为是,一旦按钮被选中就一直保持,直到另外一个按钮被选中为止。你可以改变这种默认的行为,变成按钮按下后很快就自动释放
segmentedControlStyle 分段控件的样式,iOS 7.0以后无效
方法:
initWithItems: 独有的初始化方法,用来创建多个分段,是一个数组
selectedSegmentAtIndex: 指定被选中的分段,默认情况下,除非你指定,否则不会有任何片段被选中。
setTitle:forSegmentAtIndex: 为指定下标的分段设置图片
insertSegmentWithTitle:atIndex:animated: 在指定位置下插入分段
removeSegmentAtIndex:animated: 删除指定分段
removeAllSegments 删除所有分段
addTarget:action:forControlEvents: 添加事件
/*
注意:controlEvent为UIControlEventValueChanged
原因:分段控件本质上通过数据管理分段,所以使用valueChanged属性来触发事件,即数组下标的变化
*/
注意:图像不会自动调整大小,图片多大就会原生地显示多大,所以你要通知做图的美工大小要精确。
#pragma mark ———————UIpageControl———————————
初始化方法:
initWithFrame: 高度设置无效
属性:
numberOfPages 页面数目
currentPage 当前页数 当前页数,默认第一页会被选中。页面索引从 0 开始。
hidesForSinglePage 默认情况下,即使只有一个页面,指示器也会显示进来。如果要在仅有一个页面的情况下隐藏指示器,可以将hideForSinglePage 的值设为 YES。
defersCurrentPageDisplay 延迟更新当前指示器当前指示页,必须调用控件的[myPageControl updateCurrentPageDisplay]; 来更新当前页
pageIndicatorTintColor 未选中页面圆点的颜色
currentPageIndicatorTintColor 当前页面的圆点的颜色
sizeForNumberOfPages 通过页数得到控制器大小, 这个属性用于页数会变化的情况下进行大小动态处理,返回一个CGSize类型的值
显示控件:addSubview:
触发事件:
addTarget:action:forControlEvents:
注意:当用户点触分页控件时,会产生一个 UIControlEventVakueChanged 事件
##DAY5 UIControl及其子类的更多相关文章
- iOS学习24之UIControl及其子类
1. UIControl初识 1> 概述 UIControl是有控制功能的视图( 如UIButton.UISlider.UISegmentedControl等)的父类 只要跟控制有关的控件都是继 ...
- UI基础:UIControl及其子类
UISegmentedControl UISegmentedControl 是iOS中的分段控件 每个segment 都能被点击,相当于集成了若干个button. 通常我们会点击不同的segment ...
- UIControl的子类UISwitch, UISegmentedCntrol, UIPageControl详解
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- iOS开发~视图(UIView)与控件(UIControl)
1.UIView类 1.什么是视图 看得见的都是视图 2.什么是控件 一种特殊的视图,都是UIControl的子类,不仅具有一定的显示外观,还能响应高级事件,与用户交互.严格意义上UILabel不是控 ...
- 用UIControl封装Button
用UIControl封装Button 效果 说明 UIControl在处理超出触摸范围的触摸事件时有bug 源码 基础类 // // BaseControl.h // BaseControl // / ...
- iOS:UIView、UIControl、UIButton、UILabel简单的属性和方法常识
常见属性和方法 一 .UIVIew 常见属性 1.frame 位置和尺寸(以父控件的左上角为原点(0,0)) 2.center 中点 (以父控件的左上角为原点(0,0)) 3.bounds 位置和尺寸 ...
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- iOS系列 基础篇 09 开关、滑块和分段控件
iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块 ...
- 【原】iOS动态性(五)一种可复用且解耦的用户统计实现(运行时Runtime)
声明:本文是本人 编程小翁 原创,转载请注明. 为了达到更好的阅读效果,强烈建议跳转到这里查看文章. iOS动态性是我的关于iOS运行时的系列文章,由浅入深,从理论到实践.本文是第5篇.有兴趣可以看看 ...
随机推荐
- svn 同步到web目录
windows hook 下 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH%;SET WORKING=D:/w ...
- 清风注解-Swift程序设计语言:Point6~10
目录索引 清风注解-Swift程序设计语言 Point 6. 输出常量和变量 代码事例: // 输出的内容会在最后换行 println("hello, world") // 输出的 ...
- html---textarea初始化时就有个table空格以及tab键操作无效
1 初始化时就有一个tab空格 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRnJlZUFwZQ==/font/5a6L5L2T/fontsize/400 ...
- 玩转kindle paperwhite: 如何越狱,安装强大外挂软件koreader
NOTICE 1: 在更新kpvbooklet和使用最新版本的koreader(v2013.03-211)时候,会出现pdf文档无法重排的错误.亲测. 如果你是使用的最新版本koreader且出现上述 ...
- RPC介绍以及编程
1 RPC介绍 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协 议. RPC采用客 ...
- 寻找所有javaee官方文档的方法
所有跟java有关的首先要去oracle官网. 所有文档都放在: Oracle Technology Network 即:著名的OTN网站 链接在首页的最后一个标签: 侧面就是documentions ...
- C++_基础_类和对象3
内容: (1)析构函数 (2)拷贝构造和拷贝赋值 (3)静态成员 (4)成员指针 (5)输入输出运算符重载 1.析构函数 当一个对象被创建时,自动调用构造函数进行初始化 当一个对象被销毁时,自动调用析 ...
- PHP学习遇到的问题
使用php ob_start()模板生成html 内容无法撑开 生成后主要的内容 <body><warp><main> 生成后这个几个节点总是固定大小,不能被内容撑 ...
- String字符串需要掌握的几个问题
一.两种定义方式的区别: String str = "hello"; 先在堆内存中查找是否已经有"hello",若有,将str指向已存在的它即可:若堆 ...
- Unity3D移植到自己的Android程序
用Unity3D开发需要把动画效果移植到现有的APP上面.Unity for Android 比较特殊,Unity for IOS 打包是将XCODE工程直接交给开发者,开发者可以在工程的基础上继续添 ...