[UIKit学习]02.关于UIButton
- 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置
- 按钮也是一种容器,在这一点上跟UIView类似
按钮的三种状态
- normal(普通状态)
- 默认情况(Default)
- 对应的枚举常量:UIControlStateNormal
- highlighted(高亮状态)
- 按钮被按下去的时候(手指还未松开)
- 对应的枚举常量:UIControlStateHighlighted
- disabled(失效状态,不可用状态)
- 如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击
- 对应的枚举常量:UIControlStateDisabled
*要为按钮设置三种状态都不同的外观,那么按钮的Type要设置为Custom
UIButton的常见设置
set
- - (void)setTitle:(NSString *)title forState:(UIControlState)state;
- 设置按钮的文字
- - (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
- 设置按钮的文字颜色
- - (void)setImage:(UIImage *)image forState:(UIControlState)state;
- 设置按钮内部的小图片
- - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
- 设置按钮的背景图片
- btn.titleLabel.font = [UIFont systemFontOfSize:13];
- 设置按钮的文字字体(需要拿到按钮内部的label来设置)
get
- - (NSString *)titleForState:(UIControlState)state;
- 获得按钮的文字
- - (UIColor *)titleColorForState:(UIControlState)state;
- 获得按钮的文字颜色
- - (UIImage *)imageForState:(UIControlState)state;
- 获得按钮内部的小图片
- - (UIImage *)backgroundImageForState:(UIControlState)state;
- 获得按钮的背景图片
代码创建
// 创建按钮
UIButton *btn = [[UIButton alloc] init];
// 设置背景图片
[btn setBackgroundImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:highImage] forState:UIControlStateHighlighted];
[btn setBackgroundImage:[UIImage imageNamed:disableImage] forState:UIControlStateDisabled];
// 设置位置和尺寸
btn.frame = frame;
// 监听按钮点击
[btn addTarget:self action:action forControlEvents:UIControlEventTouchUpInside];
[UIKit学习]02.关于UIButton的更多相关文章
- JavaScript学习02 基础语法
JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...
- Java虚拟机JVM学习02 类的加载概述
Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ...
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- Android Testing学习02 HelloTesting 项目建立与执行
Android Testing学习02 HelloTesting 项目建立与执行 Android测试,分为待测试的项目和测试项目,这两个项目会生成两个独立的apk,但是内部,它们会共享同一个进程. 下 ...
- Java学习02
Java学习02 1.导入内部的包 一.在包的下面加入下面一句话: import java.util.Scanner; 二.在类中 Scanner input=new Sanner(Sy ...
- ThinkPhp学习02
原文:ThinkPhp学习02 一.什么是MVC M -Model 编写model类 对数据进行操作 V -View 编写html文件,页面呈现 C -Controll ...
- JVM学习02:GC垃圾回收和内存分配
JVM学习02:GC垃圾回收和内存分配 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. GC垃圾回收和内存分配知识要点Xmind梳理 案例分析1-(G ...
- 2018.12.22 Spring学习02
Spring学习02 1.使用注解配置Spring 1.1 为主配置文件引入新的命名空间(约束) 添加约束文件xxx-xxx-context.xml 添加到主配置文件中 选择刚才的context.xm ...
- 天脉2(ACoreOS653)操作系统学习02
天脉2(ACoreOS653)操作系统学习02 一.分区内通信方法 分区内通信指同一分区内进程之间的通信.ARINC 653定义的分区内进程通信机制,包括:缓存队列(Buffers-Queue).黑板 ...
随机推荐
- 数据结构-二叉树 C和C++实现
二叉树,指针域具有两个下一节点的特殊链表结构. 先来看看它的结构 (此处补图) 来看程序中需要使用到的概念: 树根:二叉树的第一个节点 子树:对于某一个节点指针域指向的节点,左指针指向的节点为左子节点 ...
- STL中的二分查找———lower_bound,upper_bound,binary_search
关于STL中的排序和检索,排序一般用sort函数即可,今天来整理一下检索中常用的函数——lower_bound , upper_bound 和 binary_search . STL中关于二分查找的函 ...
- Ext.Ajax.request
function create(){ var itstate = $("#myselect").val(); Ext.Ajax.request({ url: '/servlet/A ...
- 【详细资料】ICN6211:MIPI DSI转RGB芯片简介
ICN6211功能MIPI DSI转RGB,分辨率1920*1200,封装QFN48
- jquery_mobile事件
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...
- 基于Vue全家桶制作的的高仿美团APP
鸣谢:该项目核心部分参考了慕课网精英讲师ustbhuangyi的课程,其余部分高仿美团APP构建. 前端菜鸟项目,大佬们轻喷~ 美团外卖APP
- 【DDD】领域驱动设计实践 —— 业务建模小招数
本文结合团队在ECO(社区服务系统)业务建模过程中的实践经验,总结得到一些DDD业务建模的小招数,不一定是完美的,但是对我们团队来说很有效用,希望能帮到其他人.后面会陆续将项目中业务建模的一些经典例子 ...
- 【★】Web精彩实战之<智能迷宫>
JS精彩实战之<智能迷宫> ---宝贵编程经验分享会--- hello大家好,这里是Web云课堂,之前的一年里我们经历了Html和CSS的系统攻城,此时的你们已经是做静态(动静结 ...
- CCIE-MPLS VPN-实验手册(上卷)
看完了看完了看完了,豪爽豪爽豪爽,一个月了,写得挺棒.总共14个mpls vpn的实验,为留下学习的痕迹,原封不动献出. CCIE实验手册 (路由部分-MPLSVPN基础篇) [CCIE] JUST ...
- 软工+C(2017第9期) 助教指南
//上一篇:提问与回复 [备注]:请优先阅读 Handshake/点评/评分 三部分. 0x00 Handshake 了解<构建之法>作者参与软件工程改革的一些背景: http://www ...