//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的更多相关文章

  1. AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking

    AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...

  2. 记录下UIButton的图文妙用和子控件的优先显示

    UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...

  3. iOS学习-UIButton的imageView和titleLabel

    UIButton的imageView和titleLabel的位置设置通过setImageEdgeInsets和setTitleEdgeInsets来设置 参考:http://blog.csdn.net ...

  4. iOS小知识:使UIButton中的图片和文字实现左对齐

    UIButton setImage 和 setTitle之后,默认的 image和title 对齐方式是居中, 由于 title 长度不固定,所以如果要几个这样有image有title的按钮纵向排列对 ...

  5. UIButton无法响应点击事件

    一.问题描述 因为项目需要,需要UITableView上添加固定的筛选表头,一直固定,不能随UITableView滚动.所以直接将表头与UITableView分离,将它添加到控制器的UIView上,即 ...

  6. 布局包含Image和Title的UIButton

    UIButton中的titleEdgeInsets和imageEdgeInsets可以管理button中image和title的布局. 如果对其理解不够深入,用纯数字进行布局管理,经过不断的调试,还是 ...

  7. UI控件(UIButton)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // UIButtonTypeCustom = 0, ...

  8. 自定义UIButton

    偶尔逛简书能看见很多值得记下来的东西,有的接触过有的没接触过,接触过的也可能过段时间就忘记了,再上手的时候可能手足无措,所以决定有些觉得值得记下来的东西还是记录一下.博客是个好地方,因为很多人都能搜索 ...

  9. UITableView或UIScrollVIew上的UIButton的高亮效果

    UITableView或UIScrollVIew上的UIButton的高亮效果 原文地址:http://www.jianshu.com/p/b4331f06bd34 最近做项目的时候发现,UIScro ...

随机推荐

  1. lintcode最长回文子串(Manacher算法)

    题目来自lintcode, 链接:http://www.lintcode.com/zh-cn/problem/longest-palindromic-substring/ 最长回文子串 给出一个字符串 ...

  2. Create Volume 操作(Part II) - 每天5分钟玩转 OpenStack(51)

    上一节我们讨论了 Cinder 创建 Volume 的第一部分,cinder-api 的操作,本节继续第二部分,cinder-scheduler 调度工作. cinder-scheduler 执行调度 ...

  3. 基础知识javascript--事件

    群里有一个小伙伴在处理事件监听函数的时候,遇到了一点问题,正好我比较空闲,于是帮他指出了代码中的问题,顺便整理一下,方便以后遇到类似问题的伙伴们有一个参考. 这是一个很简单的问题,对于基础知识比较杂实 ...

  4. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通 ...

  5. ZOJ Problem Set - 1115 Digital Roots

    水题记录: 注:此题题目并没有限定数值的大小,所以要用字符串进行处理 #include <stdio.h> #include <string.h> int main() { ] ...

  6. ASP.NET实现微信功能(1)(创建菜单,验证,给菜单添加事件)

    LZ实在 不知道怎么起名字了,索性就取了这个名字,开始吧,说实在的,想给自己的平常的学习做一个总结,总是忘了总结.也只能给工作做一个总结了. 我打算用2篇文章来写,第一篇是关于订阅号的,就是这个号,另 ...

  7. 【集合框架】JDK1.8源码分析之IdentityHashMap(四)

    一.前言 前面已经分析了HashMap与LinkedHashMap,现在我们来分析不太常用的IdentityHashMap,从它的名字上也可以看出来用于表示唯一的HashMap,仔细分析了其源码,发现 ...

  8. Android APP压力测试(三)之Monkey日志自动分析脚本

    Android APP压力测试(三) 之Monkey日志自动分析脚本 前言 上次说要分享Monkey日志的分析脚本,这次贴出来分享一下,废话不多说,请看正文. [目录] 1.Monkey日志分析脚本 ...

  9. springmvc4环境简单搭建和定时任务

    之前复制粘贴创建了几个ssm的项目,然而回头让自己写的时候还是一头雾水,究其原因是spring的陌生.仅仅是写过几个helloworld而已.而且是照着写.我都不知道springmvc到底需要多少ja ...

  10. 推荐13款优秀的Twitter Bootstrap JavaScript插件

    Bootstrap是基于HTML,CSS和JavaScript的简洁灵活的流行前端框架及交互组件集,由微博先驱Twitter在2011年8月开源的整套前端解决解决方案,拥有非常完备和详尽的开发文档,有 ...