一、UIButton和UIImageView的区别
1、 UIImageView 默认只能显示一张图片(默认会填充整个ImageView) 设置方法:image/setImage:
UIButton 默认能显示两种图片,前景和背景(背景会填充整个按钮,前景按尺寸显示) 还可以显示文字 setTitle: forState:
设置方法:setBackgroundImage: forState:/setImage: forState:
2、 UIImageView 默认不能响应点击事件
UIButton 可以响应 addTarget: action: forControlEvents:
3、 UIImageView只显示图片不做事件处理
UIButton既显示图片又响应事件
UIControl 类包含关于事件相关的方法 如addTarget
//
// SLQViewController.m
// UIButton和UIImageView的区别 //
// Created by Christian on 15/4/28.
// Copyright (c) 2015年 itcast. All rights reserved.
// #import "SLQViewController.h" @interface SLQViewController () @end @implementation SLQViewController - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// UIImageView
UIImageView *imageView = [[UIImageView alloc] init];
// 设置图片2中方法
//imageView.image = [UIImage imageNamed:@"014.png"];
[imageView setImage:[UIImage imageNamed:@"014.png" ]];
// 设置位置
imageView.frame = CGRectMake(, , , );
// 添加到视图
[self.view addSubview:imageView]; // UIButton
UIButton *btn = [[UIButton alloc] init];
// 设置背景图片
[btn setBackgroundImage:[UIImage imageNamed:@"bg.png"] forState:UIControlStateNormal];
// 设置前景图片
[btn setImage:[UIImage imageNamed:@"016.png"] forState:UIControlStateNormal];
// 设置位置
btn.frame = CGRectMake(, , , );
// 设置显示文字
[btn setTitle:@"按钮" forState:UIControlStateNormal];
// 给按钮添加监听事件
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
// 添加到视图
[self.view addSubview:btn]; } - (void)btnClick:(UIButton *)btn
{
NSLog(@"%@",btn);
}
@end
二、UIView常用方法
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属性、方法等