zoukankan      html  css  js  c++  java
  • 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属性、方法等

  • 相关阅读:
    css 上下居中的广法
    layui下拉框右边图标动画,不要动画
    git clone项目失败,Host key verification failed.
    layui数据表格分页加载动画,自己定义加载动画,"加载中..."
    layui数据表格排序图标被超出的表头挤出去
    layui数据表格,当数据过长出现三个...的时候,点击会弹出一个框全部显示,如何去掉这个框
    eclips 中的 svn 更新报错,被锁住解决办法
    Nginx系列3:用Nginx搭建一个具备缓存功能的反向代理服务
    正向代理和反向代理的区别
    Nginx系列2:用Nginx搭建一个可用的静态资源Web服务器
  • 原文地址:https://www.cnblogs.com/songliquan/p/4464454.html
Copyright © 2011-2022 走看看