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

ios巧妙利用UIButton的UIControlStateSelected属性

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

收录于:43天前

一般可以巧用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];
    }
}


效果图:



. . .

相关推荐

额外说明

组复制环境设置

文章目录 Group Replication 环境搭建 基本环境 部署规划 基本初始化 解压 MySQL 添加 mysql 用户 更改 mysql 目录权限 创建数据库数据目录 更改目录权限 基本安装 配置文件说明 重要参数说明 group_replic

额外说明

通俗易懂——SpringMvc介绍及简单搭建

SpringMvc系列 文章目录 SpringMvc系列 概念 基于注解的Hello_SpringMVC 概念 MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种 软件设计规范。SpringMVC是Spring框架

额外说明

【JAVA-Day26】数组解析:什么是数组?如何定义?

数组解析:什么是数组?如何定义? 数组解析:什么是数组?如何定义? 摘要 一、什么是数组 数组的特性: 不同类型的数组: 数组的应用场景: 数组的限制和挑战: 二、如何定义Java数组 2.1 定义一维数组 2.2 定义二维数组 三、应用场景和优势 应用

额外说明

对接第三方接口鉴权

我们知道,做为一个web系统,少不了要调用别的系统的接口或者是提供接口供别的系统调用。从接口的使用范围也可以分为对内和对外两种,对内的接口主要限于一些我们内部系统的调用,多是通过内网进行调用,往往不用考虑太复杂的鉴权操作。但是,对于对外的接口,我们就不得

额外说明

HNU-操作系统OS-实验Lab5

OS_Lab5_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 了解第一个用户进程创建过程 了解系统调用框架的实现机制 了解ucore如何实现系统调用sys_fo

额外说明

Go 自学:struct结构体

以下代码展示如何建立一个结构体struct。 我们可以使用%+v查看结构体的详情。 package main import ( "fmt" ) func main() { Jeff := User{ "Jeff", "[email protected]",

额外说明

Linux常用命令大全

最近都在和Linux打交道,这方面基础比较薄弱的我只好买了本鸟哥的书看看,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。为了方便大家查找linux的相关

额外说明

实训项目二:学生信息管理

文章目录 一、提出任务 二、实现步骤 (一)创建Django项目 - students (二)准备静态资源 1、创建静态目录 2、创建样式文件 3、添加layui框架 4、创建脚本文件 (三)完成基本配置 1、配置数据库信息 2、配置静态文件目录 3、进

额外说明

Python编程基础10:列表

文章目录 一、列表概述 二、访问列表元素 1、通过索引访问单个列表元素 2、通过切片运算访问列表元素 三、更新列表元素 (一)追加元素 (二)修改元素 (三)删除元素 1、使用remove()方法删除列表指定元素 - 按值删除 2、使用del语句删除列表

额外说明

Go程序:演示复数类型的用法

/* * 功能:演示复数类型的用法 * 日期:2015年6月26日 */ // complex_demo.go package main import (     "fmt" ) func main() {     var c1, c2, result 

ads via 小工具