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

  • 相关阅读:
    unable to start kestrel System.Net.Sockets.SocketException (10013): 以一种访问权限不允许的方式做了一个访问套接字的尝试。
    c# 复制文件夹内所有文件到另外一个文件夹
    git初始化
    c# 递归获取所有目录,所有文件,并替换文件
    新增项目 提交到gitee
    netcore3.1 跨域请求
    netcore appsettings.json 绑定对象
    nuget安装包
    做人六字诀:静,缓,忍,让,淡,平
    docker安装部署
  • 原文地址:https://www.cnblogs.com/songliquan/p/4464454.html
Copyright © 2011-2022 走看看