按钮的几种状态的区别

按钮的几种状态的区别

几种状态:

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了~

     

 

转载于:https://my.oschina.net/llfk/blog/701879

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108960.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月16日 上午8:00
下一篇 2021年9月16日 上午8:00


相关推荐

  • ibatis和Mybatis区别

    ibatis和Mybatis区别相同点: 1、都是原生SQL,都方便进行SQL代码调优 2、查询语句后面不能加“;”,否则会报“无效字符错误” 不同点: 1、ibatis传参是parameterClass,mybatis传参是parameterType 2、ibatis出参是resultClass,mybatis传参是resultType 3、ibatis参数占位符是##,mybatis占位符是

    2025年7月18日
    6
  • toString方法使用

    toString方法使用toString 方法 生成一个 toString 方法 将你需要的内容整合好 使你调用这个方法时直接输出 是主方法中的输出语句中 System out println 对象 toString 直接输出所需内容

    2026年3月18日
    2
  • Java解惑五:类之谜

    Java解惑五:类之谜

    2021年11月23日
    54
  • 数据可视化之美 — 以Matlab、Python为工具

    数据可视化之美 — 以Matlab、Python为工具在我们科研、工作中,将数据完美展现出来尤为重要。数据可视化是以数据为视角,探索世界。我们真正想要的是—数据视觉,以数据为工具,以可视化为手段,目的是描述真实,探索世界。下面介绍一些数据可视化的作品(包含部分代码),主要是地学领域,可迁移至其他学科。Example1:importnumpyasnpimportmatplotlib.pyplotasplt#创建随机数n=100000x=np.random.randn(n)y=(1.5*x)+np.ra

    2025年6月15日
    4
  • 更换conda源和pip源「建议收藏」

    更换conda源和pip源「建议收藏」更换conda源condaconfig–addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig–addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgecondaconfig–addchannelshttps://mirrors.tuna.tsinghua.edu.cn/an.

    2026年4月15日
    4
  • Oracle DBA 路途遥远「建议收藏」

    Oracle DBA 路途遥远「建议收藏」好用的OracleDBA为什么这么难找? 这不但是很多CIO的痛,也是很多IT主管搅尽脑汁也解决不了的问题。可那么多从ORACLE培训班拿到OCP认证的人跑哪里去了呢? 小白是一个拥有OCP证照,且对数据库本身的架构、运作原理有一定了解的数据库管理员。原以为一切都没问题的,无奈小白刚一就任,就面临到替换公司数据库系统主机的问题。小白没有程序开发与主机系统管理等经验,小白是那种一毕

    2026年4月13日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号