UI1_UIButton
//
// 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的更多相关文章
随机推荐
- iOS开发——测试篇&breakpoints、lldb 和 chisel 的详解
breakpoints.lldb 和 chisel 的详解 Breakpoints BreakPoint分类 breakpoint也是有分类的,我这里的文章内大致按使用的方式分为了 Normal Br ...
- 云服务器 ECS Linux 服务器修改时区的两种方式
在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...
- Linux内核设计与实现 读书笔记 转
Linux内核设计与实现 读书笔记: http://www.cnblogs.com/wang_yb/tag/linux-kernel/ <深入理解LINUX内存管理> http://bl ...
- 使用javaScript解决asp.net中mvc使用ajax提交数组参数的匹配问题
想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总是会发生取不到值的情况,当然网上也有很多解决的例子,但都是在服 ...
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
代码如下: public int Sum_Solution(int n) { int temp = n; boolean b = (temp>0)&&(temp += Sum_S ...
- android学习日记14--网络通信
一.Android网络通信 android网络通信一般有三种:java.net.*(标准Java接口).org.apache接口(基于http协议)和android.net.*(Android网络接口 ...
- Java去除掉HTML里面所有标签的两种方法——开源jar包和自己写正则表达式
Java去除掉HTML里面所有标签,主要就两种,要么用开源的jar处理,要么就自己写正则表达式.自己写的话,可能处理不全一些自定义的标签.企业应用基本都是能找开源就找开源,实在不行才自己写…… 1,开 ...
- sharepreferce支持boolean,string类型
public class SharePrefersUtils { private static final String name="cogi"; public static bo ...
- 10. Android框架和工具之 AppMsg(消息提示)
1. AppMsg 优雅的弹出类似Toast的消息提示,支持3种状态Alert(警告),Confirm(确认)以及Info(消息). 2. AppMsg使用: (1)AppMsg下载地址 ...
- Redis缓存、MemCached和.Net内部缓存的切换使用
接口文件:IDataCache.cs using System; using System.Collections.Generic; using System.Linq; using System.T ...