文档章节

按钮的几种状态的区别

奋斗的青春年华
 奋斗的青春年华
发布于 2016/06/28 14:50
字数 257
阅读 55
收藏 0
点赞 0
评论 0

几种状态:

enum {
   UIControlStateNormal               = 0,
   UIControlStateHighlighted          = 1 << 0,
   UIControlStateDisabled             = 1 << 1,
   UIControlStateSelected             = 1 << 2,
   UIControlStateApplication          = 0x00FF0000,
   UIControlStateReserved             = 0xFF000000
};

这几种状态的时序变化顺序:

1.什么都没干的时候:Normal

2.当你的手指按下去,还没放的时候:Highlighted

3.当手指放开的时候:如果这个 UIControl 有 Selected 状态的话,就会变成: Selected

再重复上述过程一次,就会从 Selected->Highlighted-> Normal

但是普通的 UIButton 这个 UIControl 的 subclass,是没有 Selected 状态的,它就只有 Normal 和 Highlighted,只会在这两个状态间切换。(正常情况下,如果你设置了 disable 的话,还会变到 Disabled)

非常自然的时序:Normal -> Highlighted -> Selected -> Normal。

也可以理解为:

  • 手指按到控件,UIControl更新ControlState到Highlighted
  • 手指离开控件,一般UIControl更新ControlState到Selected
  • Highlighted -> Selected之后的状态取决于具体的UIControl子类,其实连UITableViewCell也有这三种状态,Cell还是UIView的子类,这种特殊的状态默认就不会更新回Normal了~


  •  

 

© 著作权归作者所有

共有 人打赏支持
奋斗的青春年华
粉丝 1
博文 166
码字总数 101761
作品 0
浦东
详解location.href几种用法的区别

一:提出问题 使用js的同学一定知道js的location.href的作用是什么,但是在js中关于location.href的用法究竟有哪几种,究竟有哪些区别,估计很多人都不知道了。 blog已经迁移到这里了,有更多...

phping ⋅ 2013/03/04 ⋅ 5

简述HP iLO中的几种开关机选项

ILO是intergrated Light-Out的缩写,是HP的远程管理功能,它可以实现远程开关机、远程安装、远程连接等功能。 笔者刚接触HP服务器时对四个关于开关机的选项非常困惑,不明其中区别。此文写予...

linuxprobe16 ⋅ 2016/11/05 ⋅ 0

关于android按钮监听的方式求分析

今天突然想了解android按钮监听几种方式的区别,总觉得几种方式肯定有区别,但就是没找到相应资料,特来此处求助

真的没有名字 ⋅ 2014/02/24 ⋅ 4

程序员的自我修养——操作系统篇

目录: 1. 进程的有哪几种状态,状态转换图,及导致转换的事件。 2. 进程与线程的区别。 3. 进程通信的几种方式。 4. 线程同步几种方式。 5. 线程的实现方式. (用户线程与内核线程的区别) 6...

马浩 ⋅ 2014/06/30 ⋅ 0

[Prism练习] Prism下MVVM中命令绑定的CanExecute问题

找到Command绑定有点问题,想拿出来讨论下。 比如,一个新增资料的界面中,我想:用户必须将所有应填写的数据项填写完毕后提交按钮才可用。 于是我们开始劵起袖子 2 using System.Collectio...

andrewniu ⋅ 05/29 ⋅ 0

【Android面试】Android面试题集锦 (陆续更新)

一些常见的Android面试基础题做下总结,看看你能做出多少道? 1. Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗? 这里Android123提示大家,Intent的一些标记有FLAGACTIVITYBRO...

晨曦之光 ⋅ 2012/03/01 ⋅ 0

UI视图交互与事件机制

一、UIButon控件详解 <一>UIButton与UILabel的区别与联系 联系:都是UIView的直接或间接的子类,都具有UIView的属性和行为,UIView代表及其子类都代表一个矩形区域。 区别: 1、UILabel是直接...

迷途阳 ⋅ 2016/02/23 ⋅ 0

Button按钮解析(iOS7)

@1.创建按钮 (+ (id)buttonWithType:(UIButtonType)buttonType;// 创建并返回一个特定风格的按钮) typedef NSENUM(NSInteger, UIButtonType) { UIButtonTypeCustom = 0, // 自定义风格 UIBu......

humingtao2013 ⋅ 2014/03/11 ⋅ 0

自定义Button

今天开始着手写课程设计,非常作弊得打算写一个Mplayer的前端,通过JNA和cmd调用Mplayer来制作一个播放器。但发现原来单单写个前端就够受的了。 言归正传,今晚就几下刚才才摸索到的JButton...

jackchanxj ⋅ 2014/06/13 ⋅ 0

Android CheckBox

CheckBox是多选方框,具有选中和未选中两种状态,他不像单选按钮在一个组中只能选择一个,而checkBox我们一次可以选中多个多选按钮! CheckBox相应的属性及方法: 默认选中:android:checked...

amigos_wu ⋅ 2012/05/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud构建微服务架构—创建“服务注册中心”

创建一个基础的Spring Boot工程,命名为eureka-server,并在pom.xml中引入需要的依赖内容: <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-par......

itcloud ⋅ 19分钟前 ⋅ 0

拖动

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>event</title> <style> #box { width: 100px; height: 100px; background-color: aquamarine; position: absolute; } </style......

fyliujj ⋅ 22分钟前 ⋅ 0

es6 polyfill array

polyfill之javascript函数的兼容写法——Array篇 1. Array.isArray(obj) if (!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[objec......

球球 ⋅ 24分钟前 ⋅ 0

kibana启动异常

检查一下:kibana.yml 每一对key:value中,冒号之后应有空格。

增删改查1 ⋅ 26分钟前 ⋅ 0

js修改img的src属性刷新图片时的图片缓存问题

问题:上传一张图片,通过js更新src属性刷新图片使其即时显示时, 当img的src当前的url与上次地址无变化时(只更改图片,名称不变,不同图片名称相同)图片不变化(仍显示原来的图片) 但通过...

HaierBrother ⋅ 26分钟前 ⋅ 0

Mysql

1.Jdbc Url 设置allowMultiQueries为true和false mysql的批量更新是要我们主动去设置的, 就是在数据库的连接url上设置一下,加上* &allowMultiQueries=true *即可。 参数名称 参数说明 缺省...

瑟青豆 ⋅ 29分钟前 ⋅ 0

mysql导出导入表结构与数据

当我们需要进行数据迁移时,mysql自带的mysqldump会是最好的方式。 1.导出某张表的结构和数据 首先,我们应当使用服务器,打开终端,连接到所需要导出的表所在的服务器上。执行命令: mysqld...

hengbao5 ⋅ 29分钟前 ⋅ 0

世界杯也走向“比拼”大数据的时代

《日本经济新闻》6月19日报道称,俄罗斯足球世界杯已于6月14日揭开战幕。作为第21次举办的足球世界杯,如何活用大数据有可能成为决定各支球队胜负的重要因素。从对阵球队的分析到战术建议,还...

加米谷大数据 ⋅ 30分钟前 ⋅ 0

金额转为千分制,金额转中文大写

金额转关为大写 /** 数字金额大写转换(可以处理整数,小数,负数) */ function digitUppercase(n){ if(!n) reutrn "" let fraction = ['角', '分']; let digit = [...

YXMBetter ⋅ 33分钟前 ⋅ 0

开发利器JRebel部署SpringBoot项目

不要以为年纪轻轻就跌倒了人生谷底,未来还有更大的下降空间等着你。 idea下载和安装JRebel 激活JRebel 访问https://my.jrebel.com/ 使用facebook或twitter登录 勾选 Build project automati...

郑龙飞 ⋅ 38分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部