UIButton使用方法汇总
//按钮初始化类方法
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];//这里创建一个圆角矩形的按钮
//按钮初始化实例方法
UIButton *button1=[[UIButton alloc]initWithFrame:CGRectMake(50, 300, 200, 50)];
//能够定义的button类型有以下6种,
// typedef enum {
// UIButtonTypeCustom = 0, 自定义风格
// UIButtonTypeRoundedRect, 圆角矩形
// UIButtonTypeDetailDisclosure, 蓝色小箭头按钮,主要做详细说明用
// UIButtonTypeInfoLight, 亮色感叹号
// UIButtonTypeInfoDark, 暗色感叹号
// UIButtonTypeContactAdd, 十字加号按钮
// } UIButtonType;
//给定button在view上的位置
[button1 setFrame:CGRectMake(50, 300, 200, 50)];
button1.frame=CGRectMake(50, 300, 200, 50);
//button背景色
[button1 setBackgroundColor:[UIColor redColor]];
button1.backgroundColor=[UIColor redColor];
//设置button填充图片
//[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal];
//设置button标题
[button1 setTitle:@"点击" forState:UIControlStateNormal];
//以下是几种状态
enum {
UIControlStateNormal = 0, 常规状态显现
UIControlStateHighlighted = 1 << 0, 高亮状态显现
UIControlStateDisabled = 1 << 1, 禁用的状态才会显现
UIControlStateSelected = 1 << 2,选中状态
UIControlStateApplication = 0x00FF0000, 当应用程序标志时
UIControlStateReserved = 0xFF000000 为内部框架预留,可以不管他
};
注意: 默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no, 那么可以去掉这个功能 button1.adjustsImageWhenHighlighted = NO;
//跟上面的情况一样,默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置 button1.adjustsImageWhenDisabled = NO;
//下面的这个属性设置为yes的状态下,按钮按下会发光 button1.showsTouchWhenHighlighted = YES; 按下按钮,并且手指离开屏幕的时候触发这个事件,跟web中的click事件一样。 触发了这个事件以后,执行butClick:这个方法,addTarget:self 的意思是说,这个方法在本类中也可以传入其他类的指针 [button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside]; //显示控件 [self.view addSubview:button1];
注意:
[button1 addTarget:self action:@selector(alarmTimeDone:) forControlEvents:UIControlEventTouchUpInside]; addTarget:self 是链接到self,一般都这样设置 action:@selector(alarmTimeDone:) 时间处理函数 forControlEvents:UIControlEventTouchUpInside 控件事件处理的消息
不错的一个介绍:http://my.oschina.net/plumsoft/blog/55927
action:@selector(doSome)与action:@selector(doSome:)
有:表示调用有参数的doSome
没: 则表示调用没参数的
同理action:@selector(doSome:asd:)
调用- doSome: xx asd:xx;
//取消按钮已经添加的所有事件:(这个比较重要,若添加了两个事件 两个事件都会被触发)
[btn removeTarget:nil action:nil forControlEvents:UIControlEventTouchUpInside];
何时释放release UIButton?
是否在dealloc中对UIButton对象进行release操作,取决于UIButton初始化的方式。
如果使用 [UIButtonbuttonWithType:UIButtonTypeRoundedRect]这种方式,是不需要进行release操作的,因为 这种方式是自动释放的。如果使用 [[UIButton alloc]init]的方式,则需要主动进行release释放操作。
--------------------------------------------------------------------------------------------------------------------
UIButton文字的显示位置,字体的大小
今天遇到个很简单的几个问题,关于UIButton的,以前没有很注意,就是设置它的文字的显示位置,字体的大小。
//设置按钮上的自体的大小
//[btn setFont: [UIFont systemFontSize: 14.0]]; //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法
//应该使用
btn.titleLabel.font = [UIFont systemFontOfSize: 14.0];
有些时候我们想让UIButton的title居左对齐,我们设置
btn.titleLabel.textAlignment = UITextAlignmentLeft;
是没有作用的,我们需要设置
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
但是问题又出来,此时文字会紧贴到做边框,我们可以设置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距离做边框保持10个像素的距离。
设置UIButton上字体的颜色设置UIButton上字体的颜色,不是用:
[btn.titleLabel setTextColor:[UIColorblackColor]];
btn.titleLabel.textColor=[UIColor redColor];
而是用:
[btn setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];
- Java魔法堂:JUnit4使用详解
- Windows魔法堂:解决“由于启动计算机时出现页面文件配置问题.......”
- Java魔法堂:自定义和解析注解
- 【Hibernate那点事儿】—— Hibernate应该了解的知识
- 【Hibernate那点事儿】—— Hibernate应该了解的知识
- Java魔法堂:以Windows服务的形式运行Java程序
- 【Hibernate那点事儿】—— Hibernate知识总结
- java获取网页源代码
- Java魔法堂:注解用法详解——@SuppressWarnings
- 日志那点事儿——slf4j源码剖析
- 给Dreamweaver插上Svn的翅膀
- MyBatis魔法堂:ResultMap详解
- 腾讯海量监控体系经验分享
- 【Spring开发】—— Spring Core
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS7安装mysql5.7解压缩版简明教程
- Gunicorn Django部署配置方法
- Linux中使用NTP保持精确时间的方法详解
- LNMP环境下搭建yum的方法分析
- django 利用pillow 进行简单的设置验证码功能(python)
- Centos环境下安装Zend optimizer 3.3.9的方法
- Linux curl表单登录或提交与cookie使用详解
- Linux磁盘设备与LVM管理命令示例详解
- Ubuntu基础教程之apt-get命令
- Ubuntu18.04.2下安装 RTX2080 Nvidia显卡驱动的方法
- linux进程监控与自动重启的简单实现方法
- Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题
- 在Linux上安装和使用Docker的方法
- centOS7 NET模式设置静态Ip的方法步骤
- CentOS搭建PHP服务器环境简明教程