这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用.

  //这里创建一个圆角矩形的按钮
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];

// 能够定义的button类型有以下6种,
// typedef enum {
// UIButtonTypeCustom = 0, 自定义风格
// UIButtonTypeRoundedRect, 圆角矩形 
// UIButtonTypeDetailDisclosure, 蓝色小箭头按钮,主要做详细说明用
// UIButtonTypeInfoLight, 亮色感叹号
// UIButtonTypeInfoDark, 暗色感叹号
// UIButtonTypeContactAdd, 十字加号按钮
// } UIButtonType;

//给定button在view上的位置
button1.frame = CGRectMake(20, 20, 280, 40);

//button背景色
button1.backgroundColor = [UIColor clearColor];

//设置button填充图片
//[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal];

//设置button标题
[button1 setTitle:@"点击" forState:UIControlStateNormal];

/* forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现*/
//以下是几种状态
// 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;

/* 给button添加事件,事件有很多种,我会单独开一篇博文介绍它们,下面这个时间的意思是
按下按钮,并且手指离开屏幕的时候触发这个事件,跟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 控件事件处理的消息

//取消按钮已经添加的所有事件:(这个比较重要,若添加了两个事件  两个事件都会被触发)

[btn removeTarget:nil action:nil forControlEvents:UIControlEventTouchUpInside];

何时释放release UIButton?

是否在dealloc中对UIButton对象进行release操作,取决于UIButton初始化的方式。

如果使用[UIButtonbuttonWithType:UIButtonTypeRoundedRect]这种方式,是不需要进行release操作的,因为这种方式是自动释放的。如果使用 [[UIButton alloc]init]的方式,则需要主动进行release释放操作。

转载于:https://www.cnblogs.com/yjhrem/articles/3519799.html

IOS ----UIButton用法详解相关推荐

  1. ios NSFileManager 用法详解

    2019独角兽企业重金招聘Python工程师标准>>> iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileMana ...

  2. (转)UIButton用法详解一

    (注明 来源网址 http://blog.csdn.net/cheneystudy/article/details/8115092)这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举 ...

  3. iOS storyboard 用法详解

    发布于:2013-12-13 15:57阅读数:118220 Storyboard是一项令人兴奋的功能,在iOS5中首次推出,在开发app的界面时可以极大地节省时间. 如下图所示,这就是一个完整的应用 ...

  4. ios开发读取剪切板的内容_iOS中管理剪切板的UIPasteboard粘贴板类用法详解

    一.自带剪切板操作的原生UI控件在iOS的UI系统中,有3个控件自带剪切板操作,分别是UITextField.UITextView与UIWebView.在这些控件的文字交互处进行长按手势可以在屏幕视图 ...

  5. IOS 多线程04-GCD详解 底层并发 API

    IOS 多线程04-GCD详解 底层并发 API 注:本人是翻译过来,并且加上本人的一点见解. 前言 想要揭示出表面之下深层次的一些可利用的方面.这些底层的 API 提供了大量的灵活性,随之而来的是大 ...

  6. C++ setprecision用法详解

    C++ setprecision用法详解 可以通过使用 setprecision 操作符来控制显示浮点数值的有效数字的数量. 导入头文件: #include <iomanip> #incl ...

  7. CSS3中font-face属性的用法详解

    CSS3中font-face属性的用法详解 @font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕 ...

  8. python argv 详解_Python3 sys.argv[ ]用法详解

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个"外部"很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可 ...

  9. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

最新文章

  1. 每日一条linux (1) -find
  2. Java项目:基于SSM实现房屋租赁系统
  3. 通过Flask和Redis构造一个动态维护的代理池
  4. PXE 01-PXE介绍
  5. spring 事务隔离级别和传播行为_Spring事务的传播行为案例分析
  6. disruptor RingBuffer初始化与生产者事件产生
  7. java 财付通支付_工商变更:马化腾卸任财付通支付科技有限公司法定代表人
  8. hutool常用方法,工具类
  9. 软件工程保研成功率_软件工程专业保研还是工作?
  10. aliddns ipv6_python脚本实现ipv6的ddns功能
  11. 自己总结的数据库系统概论笔记,需要的拿去用
  12. 喝java茶,我为你泡一杯花茶
  13. 36岁程序员2023年第一天上班被裁
  14. IO流 输入流、输出流、字节流、字符流、转换流、及Properties类
  15. SAP 系统中成本中心调整
  16. 思科防火墙ASA配置案例
  17. itoa函数,srpintf()函数 ,atoi函数
  18. 超越图灵测试:判断机器是否在思考的现代方法
  19. nexus7二代升级android8,添横屏模式 Nexus7升级至Android4.1.2
  20. python对智能视觉的帮助_Python机器视觉编程环境使用指南

热门文章

  1. SQL预编译防注入小测试
  2. JavaScript学习总结(六)——JavaScript判断数据类型总结
  3. ASP.NET WebAPI 自定义ControllerSelector
  4. 2015年,Web 进入移动时代
  5. 基于Libevent的HTTP Server
  6. 将你的Vim 打造成轻巧强大的IDE
  7. MATLAB画图命令zz
  8. 如何取消 登录_LSAT | 退考、缺考、取消成绩,各自的区别和流程是怎样的?
  9. 生产上oracle扩展表空间,oracle基于裸设备(raw device)扩充表空间
  10. 思维脑图——数据分析实战(最新版)