UIButton在处于selected的情况下点击的问题

    [button setBackgroundImage:backImage forState:UIControlStateNormal];
    [button setBackgroundImage:backImage forState:UIControlStateHighlighted];
    [button setBackgroundImage:selecetedBackImage forState:UIControlStateSelected | UIControlStateHighlighted];
    [button setBackgroundImage:selecetedBackImage forState:UIControlStateSelected];
    [button setImage:iconImage forState:UIControlStateNormal];
    [button setImage:iconImage forState:UIControlStateHighlighted];
    [button setImage:iconImage forState:UIControlStateSelected|UIControlStateHighlighted];
    [button setTitle:text forState:UIControlStateNormal];
    [button.titleLabel setFont:[UIFont systemFontOfSize:12.0]];

自定义tabbar用button替代tabbaritem遇到了一个问题。就是在选中button的情况下,再次点击button,会变成默认的图片,看起来很不美观。

查了好久终于看到原来还是state的原因。

UIControlStateSelected | UIControlStateHighlighted
UIControlStateSelected

这俩代表的不同,UIControlStateSelected | UIControlStateHighlighted 是处于selected 的情况下,再次点击高亮的效果。

时间: 2024-08-02 06:41:44

UIButton在处于selected的情况下点击的问题的相关文章

如何在主机自动IP而虚拟机静态IP的情况下相互ping通?

这两天在学习Linux,用xshell时,发现主机和虚拟机均不能相互ping通.自己查了一下主机是自动获取IP,而虚拟机是静态IP(默认静态).并且,虚拟机选用的是桥接方式.折腾了一会儿终于ping通了. 环境: 主机OS: win10 网络: 有线 虚拟机:VMware12.5.0 OS: RHEL 5.8 注: 一般情况下,主机默认为自动获取IP,VMware桥接情况下默认为静态IP. 步骤: (1) 给虚拟机Network Adapter设置Bridge方式,前提是虚拟机在关机情况下. 然

Activity在异常情况下的生命周期——Android开发艺术探索笔记

欢迎转载,转载请注明出处 http://blog.csdn.net/l664675249/article/details/50638398 Activity在异常情况下的生命周期 关于Activity正常情况下的生命周期请参考这篇文章,本文主要讲解Activity在异常情况下的生命周期. 情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, onSto

sql server中高并发情况下 同时执行select和update语句死锁问题 (一)

 最近在项目上线使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁.通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了.由于得不到锁,后面的Commit无法执行,这样双方开始死锁.但是select语句和update语句同时执行,怎么会发生死锁呢?看完下面的分析,你会明白的- 首先看到代码中使用的查询的方法Select <span style="font-size:18px;"> /// &

默认情况下,不使用of子句表示在select所有的数据表中加锁(转)

Select …forupdate语句是我们经常使用手工加锁语句.通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作.同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍. 借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作.本篇我们就来介绍一下这个子句的用法和功能. 下面是采自Oracle官方文档<SQLLanguage Reference>中关于for update子句的说明:(请双击点开图片查看) 从for

较复杂情况下小型数据库的数据迁移

虽然在操作之前作过一些测试,但主要考虑脚本的正确与否以及对数据库对象的影响.并没有完全在实际系统上运行.这也成为后来出现的一个问题没有预计到的根源.毕竟比较早的版本我没有用过:).那就是8.0.6的exp工具并支持到处数据到多个文件,file=file1,file2不能使用,而且也不清楚老的hp-unix是32位的时候支持大于2g的文件,而且8.0.6是否可以导出一个大于2G文件.后来出现问题之后经过查证系统支持,此避免使用磁带机或者文件压缩的方式(具体方法网络上有相关资料).   由于考虑到加

异常情况下的Activity生命周期分析

情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, onStop, onDestory均会被调用.因为实在异常情况下终止的,所以系统会调用onSaveInstanceState来保存当前Activity状态.这个方法是在onStop之前,与onPause没有固定的时序关系.当Activity重建的时候系统会把onSaveInstanceState所保

无RMAN备份集情况下的坏块恢复

测试的环境是没有可用的RMAN备份集,但是有数据文件的热备,下面来看测试: --创建测试用户和测试表 [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on 16 16:01:02 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved. Connected to: Oracle Database 10g Ente

案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表

通过Oracle dul工具在没有备份情况下进行非常规恢复,找出drop删除的Oracle数据表中的数据进行恢复 dul对被drop对象进行恢复,需要提供两个信息1.被删除表所属表空间(非必须)2.被删除表结构(必须) 1.Oracle数据库中模拟删除表 --创建测试表 SQL> create table t_dul_drop tablespace czum 2 as 3 select * from dba_tables; Table created. --备份被删除表数据,便于比较和提供测试表

DAG情况下如何移动数据库路径

移动数据库路径的场景很多,典型的场景是因为磁盘空间不够用了,想移动到另一个盘,移动数据库路径有向导并不难,但是如果启用了DAG 的情况下,就有一些注意事项,以下说明. PS:如果需要移动数据库路径,就必须要先卸载需要移动的数据库,所以最好在在非工作时间进行迁移. 以下就以 IT 这个数据库示范,MBX1和 MBX2 上启用了 DAG,MBX1 上的 IT数据库处于活动状态,MBX2 上的 IT 数据库处于复制状态: 卸除数据库 删除IT数据库的副本,因为IT 数据库只有 MBX2 服务器上 1