一、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属性、方法等

05-02 16:45