转载

UI-Day02--UIButton知识介绍(一)

声明:此处所有代码都为在AppDelegate中操作的

UIButton

@implementation AppDelegate

{

UILabel *_label;//创建一个label成员变量

}

//入口

1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2  3     // Override point for customization after application launch. 4  5     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; 6  7     self.window.backgroundColor = [UIColor whiteColor];

UIButton 1

 1   //01.UIButton:UIContol:UIView,   UIbutton是UIContol的子类,间接式UIView的子类  2   3     //02.UIBotton是 驱动型控件  可以点击响应事件  4   5     //03.加方法创建button  6   7     UIButton * button = [UIButton buttonWithType:UIButtonTypeInfoLight];  8   9     //iOS7之后 UIButtonTypeRoundedRect无效 10  11     //04.type 代表 button的样式 12  13   14  15           //05.设置按钮背景颜色 16  17     button.backgroundColor = [UIColor redColor]; 18  19           //06.直接使用frame对按钮的尺寸大小和位置进行设置 20  21     button.frame = CGRectMake(0, 40, 320, 30); 22  23      24  25     [self.window addSubview:button]; 26  27   28  29      30  31

UIButton 2  按钮的自定义样式

 1  //开发中 基本不会使用系统提供的样式type 自定制控件  2   3     UIButton * button2 = [UIButton buttonWithType:UIButtonTypeCustom];  4   5     //01.UIButtonTypeCustom 自定义样式  6   7    8   9     //02.开发中使用的图片绝大多数都是png格式,原因是因为图片可以是镂空的,可以做按钮图片 10  11     UIImage *image = [UIImage imageNamed:@"1.png"]; 12  13     UIImage *bgImage = [UIImage imageNamed:@"map.png”];//背景图片 14  15   16  17     //给button设置图片 18  19     [button2 setImage:image forState:UIControlStateNormal]; 20  21     [button2 setBackgroundImage:bgImage forState:UIControlStateNormal]; 22  23   24  25     button2.frame = CGRectMake(0, 80, 320, 30); 26  27   28  29     //设置点击后是否高亮,当点击整个按钮部分的时候,中间的前置图片会发亮一下 30  31     button2.showsTouchWhenHighlighted = YES;//NO则是关闭高亮效果 32  33      34  35     [self.window addSubview:button2]; 36  37

UIButton 3   给按钮设置标题(标题的颜色),标签

 1  UIButton * button3 = [UIButton buttonWithType:UIButtonTypeCustom];//自定义type  2   3     button3.frame = CGRectMake(0, 120, 320, 30);  4   5    6   7     //01.设置标题  8   9     [button3 setTitle:@"点点点" forState:UIControlStateNormal]; 10  11     [button3 setTitle:@"我被点击了" forState:UIControlStateHighlighted]; 12  13   14  15     //02.设置标题颜色 16  17     [button3 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 18  19     [button3 setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted]; 20  21   22  23     //03.设置禁用状态 NO表示禁用 默认是YES; 即按钮的状态,NO时则点击不会有任何反应,YES的时候点击会做出相应的反应 24  25     button3.enabled = YES; 26  27   28  29     //04.设置标记    目的:通过标签快速找到该按钮,设置值不能是个位数 30  31     button3.tag = 100; 32  33     button3.backgroundColor = [UIColor greenColor]; 34  35     [self.window addSubview:button3];

UIButton 4   按钮点击后连接事件(即实现某个特定的方法)

 1  //添加事件(添加方法)(注册事件)  2   3     UIButton * button4 = [UIButton buttonWithType:UIButtonTypeCustom];  4   5       6   7     [button4 addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchDown];  8   9     //01.UIControlEventTouchUpInside  最常用的一个方法,即按键按下去,松开的一瞬间,按钮的功能才会被触发 10  11     //02.target - action 目标动作机制 12  13     //03.给target对象发送action消息(让target调用action方法) 14  15     //04.UIControlEventTouchUpInside  触发条件 16  17     //05.只有满足ControlEvents条件,才会给target发送action消息 18  19     //06.self代表的并不是button4 ,self代表的是appdelegate对象,如果target没有action的方法,点击按钮会崩溃 20  21     button4.frame = CGRectMake(0, 180, 320, 30); 22  23     button4.backgroundColor = [UIColor grayColor]; 24  25     [self.window addSubview:button4]; 26  27      28  29     [self.window makeKeyAndVisible]; 30  31     return YES; 32  33 }

button的action中的方法

 1 -(void)onClick:(id)btn{//btn = button4  2   3    4   5           //设置一个静态变量 i 来记录,按钮点击了多少次  6   7     static int i = 0;  8   9     if (!_label) { 10  11         _label = [[UILabel alloc]initWithFrame:CGRectMake(100, 220, 100, 100)]; 12  13     } 14  15     _label.text = [NSString stringWithFormat:@"我被点了%d次",i++]; 16  17     _label.backgroundColor = [UIColor blueColor]; 18  19     _label.adjustsFontSizeToFitWidth = YES; 20  21     [self.window addSubview:_label]; 22  23      24  25     [btn setBackgroundColor:[UIColor redColor]]; 26  27 }
正文到此结束
Loading...