(注明 来源网址 http://blog.csdn.net/cheneystudy/article/details/8115092)这段代码动态的创建了一个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/ak23173969/p/4368214.html

(转)UIButton用法详解一相关推荐

  1. IOS ----UIButton用法详解

    这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用.   //这里创建一个圆角矩形的按钮 UIButton *button1 = [UIButton buttonW ...

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

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

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

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

  4. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

    ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...

  5. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  6. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

  7. php theme_path,PHP_Yii2主题(Theme)用法详解,本文实例讲述了Yii2主题(Theme) - phpStudy

    Yii2主题(Theme)用法详解 本文实例讲述了Yii2主题(Theme)用法.分享给大家供大家参考,具体如下: 首先看看主要的配置方式: 'components' => [ 'view' = ...

  8. LayoutInflater的inflate函数用法详解

    LayoutInflater的inflate函数用法详解 LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: ...

  9. Ext.Net学习笔记22:Ext.Net Tree 用法详解

    上面的图片是一个简单的树,使用Ext.Net来创建这样的树结构非常简单,代码如下: <ext:TreePanel runat="server"><Root> ...

最新文章

  1. js中的各种宽度计算
  2. Docker storage driver(十四)
  3. r语言之散点图类型type参数
  4. 含蓄:为彼此的交往留下余地 — 《别输在不会表达上》
  5. 小爱mini改aux立体声_拆解报告:Redmi小爱音箱Play
  6. 文件传至迅雷服务器,迅雷传输SDK开发文档
  7. 如何搭建视频点播服务
  8. 蛇形天线设计和分析(转)
  9. 使用js正则表达式验证
  10. python股票回测
  11. Git检查现有 SSH 密钥
  12. idea中maven打包报错:Compilation failure: Compilation failure
  13. sketch和zeplin
  14. 豆瓣评分8.5+,这10本好书,不读你就OUT了
  15. 操作系统镜像资源下载
  16. 微众银行积极参与公益事业 发扬志愿者精神
  17. apache-tomcat-10.0.18配置
  18. 串行通信 - Modbus协议
  19. mysql跨库oracle查询_ORACLE跨数据库查询的方法
  20. Visual Studio 2017、2019 调试Docker无法启动,卡在vsdbg\vs2017u5 exists, deleting.

热门文章

  1. C++面试题,平时面试不可缺少的!
  2. Java基础篇:去探索String类
  3. 完全跨域的单点登录(SSO)解决方案源码解析
  4. Redis入门到高可用(十一)—— 慢查询
  5. HBuilder搭建Android模拟器
  6. Access数据库基于时间盲注的实现[www.freebuf.com]
  7. 封装的ini文件类。保存为unicode的。解决delphi xe的TiniFile保存后不为unicode的问题...
  8. 程序员面试金典——18.1另类加法
  9. LaTeX 参考文献的排版与引用
  10. 第四周课程总结&实验报告。