1、 UIImageView 默认只能显示一张图片(默认会填充整个ImageView) 设置方法:image/setImage:
UIButton 默认能显示两种图片,前景和背景(背景会填充整个按钮,前景按尺寸显示) 还可以显示文字 setTitle: forState:
设置方法:setBackgroundImage: forState:/setImage: forState:
2、 UIImageView 默认不能响应点击事件
UIButton 可以响应 addTarget: action: forControlEvents:
3、 UIImageView只显示图片不做事件处理
UIButton既显示图片又响应事件
UIControl 类包含关于事件相关的方法 如addTarget
1 // 2 // SLQViewController.m 3 // UIButton和UIImageView的区别 4 5 6 // 7 // Created by Christian on 15/4/28. 8 // Copyright (c) 2015年 itcast. All rights reserved. 9 // 10 11 12 #import "SLQViewController.h" 13 14 @interface SLQViewController () 15 16 @end 17 18 @implementation SLQViewController 19 20 - (void)viewDidLoad 21 { 22 [super viewDidLoad]; 23 // Do any additional setup after loading the view, typically from a nib. 24 // UIImageView 25 UIImageView *imageView = [[UIImageView alloc] init]; 26 // 设置图片2中方法 27 //imageView.image = [UIImage imageNamed:@"014.png"]; 28 [imageView setImage:[UIImage imageNamed:@"014.png" ]]; 29 // 设置位置 30 imageView.frame = CGRectMake(0, 20, 150, 150); 31 // 添加到视图 32 [self.view addSubview:imageView]; 33 34 35 36 // UIButton 37 UIButton *btn = [[UIButton alloc] init]; 38 // 设置背景图片 39 [btn setBackgroundImage:[UIImage imageNamed:@"bg.png"] forState:UIControlStateNormal]; 40 // 设置前景图片 41 [btn setImage:[UIImage imageNamed:@"016.png"] forState:UIControlStateNormal]; 42 // 设置位置 43 btn.frame = CGRectMake(0, 100, 150, 150); 44 // 设置显示文字 45 [btn setTitle:@"按钮" forState:UIControlStateNormal]; 46 // 给按钮添加监听事件 47 [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; 48 // 添加到视图 49 [self.view addSubview:btn]; 50 51 } 52 53 - (void)btnClick:(UIButton *)btn 54 { 55 NSLog(@"%@",btn); 56 } 57 @end
1、addSubview:(UIView *) child
添加子控件,最新的子控件显示在最上面
2、NSArray *subviews
通过subviews获取所有子控件,顺序按照assSubView添加排列
3、removeFromSuperview
将控件本身从父控件中移除,控件也会从subviews数组中移除
4、(UIView *)viewWithTag:(int)myTag
返回tag值位myTag的子控件,如果有tag值重复,则取最前面的控件,也包含控件本身。
5、(UIView *)superView
返回父控件
1、arc4random() // 随机生成正整数和0
2、arc4random_unform(100) // 随机生成0~99的整数
类扩展 (class extension 匿名分类)
@interface 类名 ()
{
// 成员变量
}
// 方法声明
@end
作用:
1、写在.m文件中
2、一般用来扩展私有成员变量、@property属性、方法等