UIButton
//UIButton->UIControl->UIView
//UIControl 带有操作的控件都是继承于它的
//UIButton 实例化 类方法实例化
//实例化时没有位置及大小,需设置frame属性
/*
1、UIButtonTypeSystem = UIButtonTypeRoundedRect iOS7之前UIButtonTypeRoundedRect带有圆角效果,iOS7之后才没有的
2、UIButtonTypeInfoLight = UIButtonTypeInfoDark = UIButtonTypeDetailDisclosure 蓝色的圆圈i
3、UIButtonTypeContactAdd 蓝色的圆圈+
*/
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
//frame
button.frame = CGRectMake(20, 100, 280, 40);
//属性
button.backgroundColor = [UIColor redColor];
//按钮是否可用: NO:不可用 YES:可用,默认状态
button.enabled = YES;
//设置文字:setTitle:forState:
/*
1、UIControlStateNormal 一般状态
2、UIControlStateHighlighted 高亮状态
3、UIControlStateDisabled 禁用状态
*/
[button setTitle:@"button" forState:UIControlStateNormal];
// [button setTitle:@"highlighted" forState:UIControlStateHighlighted];
[button setTitle:@"disabled" forState:UIControlStateDisabled];
//设置文字颜色:默认蓝色 setTitleColor:forState:
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
//设置文字大小:.titleLabel.font
button.titleLabel.font = [UIFont systemFontOfSize:17.0];
//文字对齐方式
//水平方向:contentHorizontalAlignment
/*
1、UIControlContentHorizontalAlignmentCenter 居中
2、UIControlContentHorizontalAlignmentLeft 左对齐
3、UIControlContentHorizontalAlignmentRight 右对齐
*/
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
//垂直方向:contentVerticalAlignment
/*
1、UIControlContentVerticalAlignmentBottom 下对齐
2、UIControlContentVerticalAlignmentCenter 居中
3、UIControlContentVerticalAlignmentTop 上对齐
*/
button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
//**按钮的点击事件**//
/*
1、第一个参数:按钮点击之后通知到谁:self
2、第二个参数:按钮的事件:@selector(方法名字)
3、第三个参数:按钮的点击方式
*/
//按钮事件不带参数的样式
// [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
//按钮事件带参数的样式
[button addTarget:self action:@selector(buttonDown:) forControlEvents:UIControlEventTouchUpInside];
/*
按钮的点击方式
1、UIControlEventTouchUpInside 里进里出
2、UIControlEventTouchUpOutside 里进外出
3、UIControlEventTouchDragInside 里进里拖拽
4、UIControlEventTouchDragOutside 里进外拖拽
5、UIControlEventTouchDragExit 里进拖拽出去
6、UIControlEventTouchDragEnter 里进拖拽出去再拽回去
7、UIControlEventTouchDown 单击
8、UIControlEventTouchDownRepeat 双击
*/
//添加到父视图上
[self.window addSubview:button];
#pragma mark - 按钮的点击事件
//带参数的方法实现
- (void)buttonDown:(UIButton *)button{
NSLog(@"ddd");
self.window.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0];
//获取按钮的文字
//currentTitle:如果按钮有高亮状态,直接获取到高亮状态下的文字,如果只存在nomal状态,获取nomal状态下的文字
NSString *title = button.currentTitle;
//.titleLabel.text:如果按钮的高亮状态在点击时没出来,获取nomal状态下的文字,如果高亮状态出来,获取高亮状态下的文字;如果按钮只存在nomal状态,获取nomal状态下的文字
NSString *title2 = button.titleLabel.text;
NSLog(@"currentTitle=%@;titleLabel=%@",title,title2);
}
//不带参数的方法实现
- (void)buttonClick{
// arc4random() 随机数 arc4random()%256 随机:0-255
// arc4random_uniform(256)
self.window.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0];
}
UIButton的更多相关文章
- AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking
AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...
- 记录下UIButton的图文妙用和子控件的优先显示
UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...
- iOS学习-UIButton的imageView和titleLabel
UIButton的imageView和titleLabel的位置设置通过setImageEdgeInsets和setTitleEdgeInsets来设置 参考:http://blog.csdn.net ...
- iOS小知识:使UIButton中的图片和文字实现左对齐
UIButton setImage 和 setTitle之后,默认的 image和title 对齐方式是居中, 由于 title 长度不固定,所以如果要几个这样有image有title的按钮纵向排列对 ...
- UIButton无法响应点击事件
一.问题描述 因为项目需要,需要UITableView上添加固定的筛选表头,一直固定,不能随UITableView滚动.所以直接将表头与UITableView分离,将它添加到控制器的UIView上,即 ...
- 布局包含Image和Title的UIButton
UIButton中的titleEdgeInsets和imageEdgeInsets可以管理button中image和title的布局. 如果对其理解不够深入,用纯数字进行布局管理,经过不断的调试,还是 ...
- UI控件(UIButton)
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // UIButtonTypeCustom = 0, ...
- 自定义UIButton
偶尔逛简书能看见很多值得记下来的东西,有的接触过有的没接触过,接触过的也可能过段时间就忘记了,再上手的时候可能手足无措,所以决定有些觉得值得记下来的东西还是记录一下.博客是个好地方,因为很多人都能搜索 ...
- UITableView或UIScrollVIew上的UIButton的高亮效果
UITableView或UIScrollVIew上的UIButton的高亮效果 原文地址:http://www.jianshu.com/p/b4331f06bd34 最近做项目的时候发现,UIScro ...
随机推荐
- 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。
前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不 ...
- IOS学习之初识KVO
什么是KVO? KVO(Key-Value Observing)键值观察,是一种通过对对象的某一个属性添加观察者,一旦这个属性值发生变化,就会通知当前观察者的一种机制. 该如何使用? 1.注册,指定被 ...
- Python深入06 Python的内存管理
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重要因素.无论是C语言的 ...
- Util应用程序框架公共操作类(十):可空值类型扩展
当你使用可空的值类型时,你会发现取值很不方便,比如Guid? obj,你要从obj中获取值,可以使用Value属性obj. Value,但obj可能为null,这时候就会抛出一个异常. 可空值类型提供 ...
- Rust初步(七):格式化
在Rust中,如果要进行屏幕输出,或者写入到文件中,需要对数据进行格式化.这一篇总结一下它所支持的几种格式化方式. 这篇文章参考了以下官方文档,不过,按照我的风格,我还是会突出于C#语言的比较,这样可 ...
- CSS三种写法的优先级
在HTML文件中引入CSS样式有三种方法: 外部样式:通过link标签引入CSS样式: 内页样式:写在HTML页面里面的style标签里面: 行内样式:写在对应标签的style属性里面. 我知道一般情 ...
- Deadlock Detecting--转
/* Java Threads, 3rd Edition By Scott Oaks, Henry Wong 3rd Edition September 2004 ISBN: 0-596-00782- ...
- iOS-掌握了时间就掌握了一切!
Demo下载地址 一. NSDate相关知识 1.获取当前时间 [NSDate date]; 注意: 获取的当前时间是世界时间:比我们用的时间慢8个小时. 2.世界时间转化为本地时间 - (void) ...
- (二十一)WebGIS中鹰眼的实现思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 鹰眼功能是WebGIS中的一种常见功能,利用一些开源的框架实现 ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...