IOS开发学习笔记024-UIButton和UIImageView的区别

 一、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

 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

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

原文地址:https://www.cnblogs.com/songliquan/p/4464454.html