小工具      在线工具  汉语词典  css  js  c++  java

ios巧妙利用UIButton的UIControlStateSelected属性

IOS系统方法&&常用控件&&GitHub资源学习 额外说明

收录于:97天前

一般可以巧用UIBUtton的UIControlStateSelected属性,来设置用户界面按钮选中背景图片。

- (UIButton *)normalButton
{
    if (!_normalButton)
    {
        UIImage *_ljImage = [UIImage imageNamed:@"lj_unselect.png"];
        _normalButton = [[UIButton alloc] initWithFrame:CGRectMake(kDEVICEWIDTH/2 - 80 - 40, 81 - 15, 50, 50)];
        //_normalButton.backgroundColor = [UIColor redColor];
        _normalButton.tag = 1000;
        [_normalButton setImage:[UIImage imageNamed:@"lj_unselect.png"] forState:UIControlStateNormal];
        [_normalButton setImage:[UIImage imageNamed:@"lj_select.png"] forState:UIControlStateSelected];
        [_normalButton addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
        [_normalButton setSelected:YES]; //默认选中状态
    }
    return _normalButton;
}

- (UIButton *)bigButton
{
    if (!_bigButton)
    {
        UIImage *_ljImage = [UIImage imageNamed:@"lj_unselect.png"];
        _bigButton = [[UIButton alloc] initWithFrame:CGRectMake(kDEVICEWIDTH/2 + 42 -10, 81 - 15, 50, 50)];
        //_bigButton.backgroundColor = [UIColor redColor];
        _bigButton.tag = 2000;
        [_bigButton setImage:[UIImage imageNamed:@"lj_unselect.png"] forState:UIControlStateNormal];
        [_bigButton setImage:[UIImage imageNamed:@"lj_select.png"] forState:UIControlStateSelected];
        [_bigButton addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
    }
    return _bigButton;
}

/*
 字体选中按钮点击
 */
- (void)buttonClick:(UIButton *)sender
{
    sender.selected = !sender.selected;//状态取反
    if (sender.tag == 1000) //标准
    {
        [_bigButton setSelected:NO];
    }
    else if (sender.tag == 2000)//大
    {
        [_normalButton setSelected:NO];
    }
}


效果图:



. . .

相关推荐

额外说明

Inventor软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载   一、软件简介 Inventor软件是一款由Autodesk公司开发的三维计算机辅助设计(CAD)软件,主要用于机械设计和工程领域。它基于参数化建模技术,可以创建出复杂的三维模型,并且提供了丰富的工具和功能,用于进行产

额外说明

mysql基础知识

mysql基础 1. 关系型数据库介绍 1.1 数据结构模型 数据结构模型主要有: 层次模型 网状结构 关系模型 关系模型: 二维关系:row,column 数据库管理系统:DBMS 关系:Relational,RDBMS 1.2 RDBMS专业名词 常

额外说明

go sync.Map Range 的同时进行 Store,Range 的遍历结果如何?(源码分析)

背景 最近翻看之前的代码,发现使用了 sync.Map,并对其异步做了 Store 和 Range 的操作。 Range 和 Store 异步,能够遍历到后添加的数据吗?带着这个问题,翻了下源码,简单了解其原理。先说结论:可能会遍历到 Store 添加的

额外说明

C++程序设计:字符阵列(三角形字符阵列图形的打印)

【问题描述】 编程实现把输入任意整数n后,可打印出n行三角字符阵列图形。例如,输入整数5时,程序运行结果如下: 【输入形式】 输入任意正整数n 【输出形式】 需要输出的字符超过26个英文字母时,重新从字母A开始循环;同一行字母之间使用空格分隔。 【样例输

额外说明

【分布式缓存】springboot整合jetcache使用详解

目录 一、前言 二、多级缓存问题 2.1 缓存分类 2.1.1 本地缓存 2.1.2 分布式缓存

额外说明

strlen和sizeof详解

大家好,我是晓星航。今天为大家带来的是strlen和sizeof在一维数组和二维数组中的计算与详细的解析!- 1.一维数组strlen和sizeof的比较 1.1sizeof和strlen概念区分: sizeof只关注占用空间大小,单位是字节,不关注类型

额外说明

关于go语言中protobuf高级使用

如果你仅仅是想玩玩go-web单机开发可以参考gin项目框架 一、微服务之间传递数据 1、在微服务中不仅仅是可以通过入参和返回参数来进行数据交互,另外还可以通过metadata的方式传递参数 2、定义一个简单的proto文件 syntax = "prot

额外说明

系统集成项目管理工程师案例分析考点汇总(范围管理)

项目范围管理常见考点 1. 需求管理可能存在的问题 2. 需求管理问题的应对措施 3. 详细范围说明书的内容 4. 范围管理存在的问题 5. 范围管理问题的应对措施 6. 范围变更的原因 7. 创建 WBS 的步骤 8. WBS 的用途 9. 创建 WB

额外说明

Windows系统目录ijl10.dll文件错误的解决办法

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个ijl10.dll文件(挑选

额外说明

解决系统缺少找不到msjter40.dll文件程序打不开问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个msjter40.dll文件

ads via 小工具