iOS开发笔记(六):UIButton需要注意的几个地方
2013-09-28 17:39
399 查看
1、addTarget: action: forControlEvents:
你在使用UIButton时,是否明明写target中有action方法,他就是crash并且说是OC类没有action方法(action方法是你传入的@selector),我做的之前一个项目就遇到过,后来我刚看了addTarget: action: forControlEvents:说明(ps:英文不是很好,所以英文一看就头痛,但没办法,现在也慢慢在适应了),有一句话说:add
target/action for particular event. you can call this multiple times and you can specify multiple target/actions for a particular event. 看到这突然明白,原来是每次调用addTarget: action: forControlEvents:都会把target和action存放到一个数组里面,你用户发生controlEvents事件时,它就会把数组里的target与action对应都调用一对,如果target对象已经被销毁了,那么就会发生crash。
由于在使用UIButton时,需要重新设置UIButton的点击事件,当重新设置UIButton的点击事件后,项目老是crash,经过今天一天的调度,终于弄明白了UIButton还隐藏的事件。
2、UIButton扩大响应区域
在做项目时,有没有经常感觉到button经常点击没有反应,那是因为你给button设置的frame不够大,但如果设置大的话,但如果设置大的话又会使图片很大,与实际的项目要求不合,现在Abel教你一个解决办法,代码如下。
//设置背景图片
[buttonsetImage:[UIImageimageNamed:@"psb.jpeg"]forState:UIControlStateNormal];
[buttonsetFrame:CGRectMake(0, 0, 48, 44)];// 设置可点击范围
[buttonsetImageEdgeInsets:UIEdgeInsetsMake(10, 10, 10, 10)];//
设置button图片与四周的距离
你在使用UIButton时,是否明明写target中有action方法,他就是crash并且说是OC类没有action方法(action方法是你传入的@selector),我做的之前一个项目就遇到过,后来我刚看了addTarget: action: forControlEvents:说明(ps:英文不是很好,所以英文一看就头痛,但没办法,现在也慢慢在适应了),有一句话说:add
target/action for particular event. you can call this multiple times and you can specify multiple target/actions for a particular event. 看到这突然明白,原来是每次调用addTarget: action: forControlEvents:都会把target和action存放到一个数组里面,你用户发生controlEvents事件时,它就会把数组里的target与action对应都调用一对,如果target对象已经被销毁了,那么就会发生crash。
由于在使用UIButton时,需要重新设置UIButton的点击事件,当重新设置UIButton的点击事件后,项目老是crash,经过今天一天的调度,终于弄明白了UIButton还隐藏的事件。
2、UIButton扩大响应区域
在做项目时,有没有经常感觉到button经常点击没有反应,那是因为你给button设置的frame不够大,但如果设置大的话,但如果设置大的话又会使图片很大,与实际的项目要求不合,现在Abel教你一个解决办法,代码如下。
//设置背景图片
[buttonsetImage:[UIImageimageNamed:@"psb.jpeg"]forState:UIControlStateNormal];
[buttonsetFrame:CGRectMake(0, 0, 48, 44)];// 设置可点击范围
[buttonsetImageEdgeInsets:UIEdgeInsetsMake(10, 10, 10, 10)];//
设置button图片与四周的距离
相关文章推荐
- 微信分享功能开发时需要注意的几个地方
- iOS开发 引入支付宝需要注意的地方
- 开发COM+组件需要注意的几个地方
- iOS开发-OC中属性创建需要注意的地方(property实例变量的创建和标准存取方法)
- 嵌入式开发学习笔记(YL2440,一些需要注意的地方)
- VS2008开发MOSS工作流几个需要注意的地方
- VS2008开发MOSS工作流几个需要注意的地方
- 关于atlas和webpart开发几个需要注意的地方。
- javaweb学习笔记:Servlet开发中需要注意的几个知识点
- iOS开发-OC中属性创建需要注意的地方(property实例变量的创建和标准存取方法)
- iOS开发之32bit转64bit需要注意的地方
- ios 开发过程中遇到的一些需要注意的地方
- 用OPC Client开发时,需要从如下几个地方注意内存泄露
- 用javascript做Asp开发语言需要注意的几个关键地方
- iOS开发 引入支付宝需要注意的地方
- 几个提升java性能需要注意的地方
- [海康开发笔记]将内存片段格式化为C#类对象时需要注意对象的字段顺序
- IOS开发学习笔记(2)-----UIButton 详解
- ldconfig几个需要注意的地方
- iOS中使用iCloud一些需要注意的地方(Xcode7.2)