//
// AppDelegate.m
// UI1_UIButton
//
// Created by zhangxueming on 15/6/30.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import "AppDelegate.h"
#import "MyClass.h" @interface AppDelegate ()
{
MyClass *_myClass;
} @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//UIButton
//按钮
//通过工厂方法创建Button对象
// UIButtonTypeCustom 自定义类型
// UIButtonTypeSystem 系统类型 //ios7之后没有圆角类型的button
// UIButtonTypeDetailDisclosure//详情按钮
// UIButtonTypeInfoLight //信息按钮有一个浅色的背景
// UIButtonTypeInfoDark //信息按钮有一个深色的背景
// UIButtonTypeContactAdd //加号按钮 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeSystem];
btn1.frame = CGRectMake(20, 100, self.window.frame.size.width-40, 50);
//设置button的背景颜色
btn1.backgroundColor = [UIColor redColor];
//设置button的标题
[btn1 setTitle:@"按钮一" forState:UIControlStateNormal];
//UIControlStateHighlighted //高亮状态
//设置高亮状态的标题
[btn1 setTitle:@"按钮一被点击" forState:UIControlStateHighlighted]; //设置按钮标题颜色
[btn1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn1 setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
//修改标题字体大小
btn1.titleLabel.font = [UIFont systemFontOfSize:30];
//在高亮状态下显示触摸亮点
btn1.showsTouchWhenHighlighted = YES;
btn1.tag = 201;
[btn1 addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside]; [self.window addSubview:btn1]; UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeSystem];
btn2.frame = CGRectMake(20, 200, self.window.frame.size.width-40, 50);
btn2.backgroundColor = [UIColor blueColor];
[btn2 setTitle:@"按钮二" forState:UIControlStateNormal];
[btn2 setTitle:@"按钮二被点击" forState:UIControlStateHighlighted]; [btn2 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btn2 setTitleColor:[UIColor yellowColor] forState:UIControlStateHighlighted];
//设置button tag属性值
btn2.tag = 202;
//按钮添加点击事件
//第一参数:target --- 执行对象
//第二个参数: selector --- 对象中的方法
//第三个参数: event --- 触发事件
[btn2 addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
// _myClass = [[MyClass alloc] init];
// [btn2 addTarget:_myClass action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside]; [self.window addSubview:btn2]; UIButton *btn3 = [UIButton buttonWithType:UIButtonTypeContactAdd];
btn3.frame = CGRectMake(20, 300, self.window.frame.size.width-40, 50);
btn3.backgroundColor = [UIColor cyanColor];
btn3.tag = 203;
[btn3 setTitle:@"按钮三" forState:UIControlStateNormal];
[btn3 setTitle:@"按钮三被点击" forState:UIControlStateHighlighted];
[btn3 addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.window addSubview:btn3]; //自定义按钮
UIButton *customBtn = [UIButton buttonWithType:UIButtonTypeCustom];
customBtn.frame = CGRectMake(20, 400, self.window.frame.size.width-40, 50);
customBtn.backgroundColor = [UIColor yellowColor];
[customBtn setTitle:@"自定义按钮" forState:UIControlStateNormal];
[customBtn setTitle:@"自定义按钮被点击" forState:UIControlStateHighlighted];
[customBtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[customBtn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
[customBtn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside]; //设置图片
//设置标题图片
[customBtn setImage:[UIImage imageNamed:@"front.png"] forState:UIControlStateNormal];
//设置背景图片
//设置了背景图片后, 再设置背景颜色不管用
[customBtn setBackgroundImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
customBtn.tag = 204;
//设置是否高亮状态下,背景图片变暗
customBtn.adjustsImageWhenHighlighted = YES; NSLog(@"currentTitle = %@", customBtn.currentTitle); [self.window addSubview:customBtn]; //创建圆角btn
UIButton *roundBtn = [UIButton buttonWithType:UIButtonTypeSystem];
roundBtn.frame = CGRectMake(100, 500, self.window.frame.size.width-200,50);
roundBtn.layer.cornerRadius = 15;
roundBtn.backgroundColor = [UIColor purpleColor];
[self.window addSubview:roundBtn]; self.window.rootViewController = nil;
self.window.backgroundColor = [UIColor whiteColor];
return YES;
} - (void)btnClicked:(UIButton *)btn
{
// NSLog(@"----按钮被点击-----");
if(btn.tag==201)
{
NSLog(@"按钮一被点击");
}
else if(btn.tag ==202)
{
NSLog(@"按钮二被点击");
}
else if (btn.tag==203)
{
NSLog(@"按钮三被点击");
}
else if(btn.tag == 204)
{
NSLog(@"自定义按钮被点击");
NSLog(@"currentTitle = %@", btn.currentTitle);
}
}
//
// MyClass.h
// UI1_UIButton
//
// Created by zhangxueming on 15/6/30.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <Foundation/Foundation.h> @interface MyClass : NSObject - (void)btnClicked; @end //
// MyClass.m
// UI1_UIButton
//
// Created by zhangxueming on 15/6/30.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import "MyClass.h" @implementation MyClass - (void)btnClicked
{
NSLog(@"MyClass 按钮被点击");
} @end

UI1_UIButton的更多相关文章

随机推荐

  1. 安卓 SQLite数据库操作实例

    前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...

  2. Perl的DATA文件句柄

    有太多次写完一个perl程序,需要另外新建一个文件来测试,每次觉得很繁琐,但又不得不这么做.没想到原来perl已经提供了解决方案,这就是DATA. 使用很简单,见下面这个例子: #!/usr/bin/ ...

  3. ios中@class和 #import,两种方式的讨论

    转自:http://blog.sina.com.cn/s/blog_a843a8850101b6a7.html 很多刚开始学习iOS开发的同学可能在看别人的代码的时候会发现有部分#import操作写在 ...

  4. 一款基于css3的3D图片翻页切换特效

    今天给大家分享一款基于css3的3D图片翻页切换特效.单击图片下方的滑块会切换上方的图片.动起你的鼠标试试吧,效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id= ...

  5. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  6. 关于解决 The processing instruction target matching "[xX][mM][lL]" is not allowed

    在处理和保存XML文件时,出现The processing instruction target matching "[xX][mM][lL]" is not allowed 错误 ...

  7. CSS 之 内层div填充margin,外层div的背景色不会覆盖该margin

    外层元素(如div)中只有一个非空子元素,此时margin是被折叠了.两者之间取最大的margin值,表现在外层父元素上,而不是内层子元素. 注意: (1)只有垂直方向上才会出现此现象,水平方向不会出 ...

  8. CSU OJ PID=1514: Packs 超大背包问题,折半枚举+二分查找。

    1514: Packs Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 61  Solved: 4[Submit][Status][Web Board] ...

  9. Cable master(二分题 注意精度)

    Cable master Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26596   Accepted: 5673 Des ...

  10. [转]Android中内存占用的含义:(VSS,PSS,RSS,USS)

    Android中内存占用的含义:(VSS,PSS,RSS,USS) 作者: andforce 分类: 安卓系统 发布时间: 2013-09-07 00:03 ė1,915 浏览数 6没有评论 在eng ...