一、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. // Created by Christian on 15/4/28.
  7. // Copyright (c) 2015年 itcast. All rights reserved.
  8. //
  9.  
  10. #import "SLQViewController.h"
  11.  
  12. @interface SLQViewController ()
  13.  
  14. @end
  15.  
  16. @implementation SLQViewController
  17.  
  18. - (void)viewDidLoad
  19. {
  20. [super viewDidLoad];
  21. // Do any additional setup after loading the view, typically from a nib.
  22. // UIImageView
  23. UIImageView *imageView = [[UIImageView alloc] init];
  24. // 设置图片2中方法
  25. //imageView.image = [UIImage imageNamed:@"014.png"];
  26. [imageView setImage:[UIImage imageNamed:@"014.png" ]];
  27. // 设置位置
  28. imageView.frame = CGRectMake(, , , );
  29. // 添加到视图
  30. [self.view addSubview:imageView];
  31.  
  32. // UIButton
  33. UIButton *btn = [[UIButton alloc] init];
  34. // 设置背景图片
  35. [btn setBackgroundImage:[UIImage imageNamed:@"bg.png"] forState:UIControlStateNormal];
  36. // 设置前景图片
  37. [btn setImage:[UIImage imageNamed:@"016.png"] forState:UIControlStateNormal];
  38. // 设置位置
  39. btn.frame = CGRectMake(, , , );
  40. // 设置显示文字
  41. [btn setTitle:@"按钮" forState:UIControlStateNormal];
  42. // 给按钮添加监听事件
  43. [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
  44. // 添加到视图
  45. [self.view addSubview:btn];
  46.  
  47. }
  48.  
  49. - (void)btnClick:(UIButton *)btn
  50. {
  51. NSLog(@"%@",btn);
  52. }
  53. @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属性、方法等

IOS开发学习笔记024-UIButton和UIImageView的区别的更多相关文章

  1. IOS开发学习笔记(2)-----UIButton 详解

    1. [代码][C/C++]代码     //这里创建一个圆角矩形的按钮    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRou ...

  2. iOS开发学习笔记:基础篇

    iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...

  3. ios开发学习笔记(1)

    objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式:self.window = ...

  4. ios开发学习笔记(这里一定有你想要的东西,全部免费)

    1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...

  5. iOS开发学习笔记

    1 常用的第三方工具 1.1 iPhone Simulator 测试程序需要模拟器iPhone Simulator 1.2 设计界面需要Interface Builder,Interface Buil ...

  6. IOS开发学习笔记021-练习2

    只是简单练习一下,主要是学习里面的思想,处理问题的方法. 不过还有一个问题没想到解决方法. 那就是动态生成的按钮如何绑定按钮事件,请哪位大神指点一下啊.(知道怎么办了,原来是方法addTarget) ...

  7. IOS开发学习笔记043-QQ聊天界面实现

    QQ聊天界面实现 效果如下: 实现过程: 1.首先实现基本界面 头像使用 UIImageView : 文字消息使用 UIButton 标签使用 UILable :水平居中 所有元素在一个cell中,在 ...

  8. ios开发学习笔记040-autolayout 第三方框架Masonry

    不管是是界面创建约束还是代码创建约束,苹果官方提供的方式都比较繁琐.所以出现了第三方框架. Masonry 在github地址如下: https://github.com/SnapKit/Masonr ...

  9. IOS开发学习笔记037-九宫格代码实现

    九宫格布局,用手机输入法时经常见到.先按3行3列写. 代码的实现主要是计算插入图片的位置. 每一张图片的位置和所在的行列密切相关.分析过程如下: 界面: 代码实现 1.把需要的图片资源添加进来 然后给 ...

随机推荐

  1. [转]git修改远程仓库地址

    原文链接:http://www.cnblogs.com/lazb/articles/5597878.html 问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库 ...

  2. pat甲级1139

    1139 First Contact(30 分) Unlike in nowadays, the way that boys and girls expressing their feelings o ...

  3. 如何用WebIDE打开并运行CRM Fiori应用

    访问Web IDE url 在Web IDE里进行项目clone操作: https://:8080/#/admin/projects/fnf/customer/cus.crm.opportunity ...

  4. IOS view拖拽(触摸事件)

    • iOS中的事件可以分为3大类型 触摸事件 加速计事件 远程控制事件 响应者对象 • 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事 件.我们称之为“响应 ...

  5. 2018.10.05 TOPOI提高组模拟赛 解题报告

    得分: \(100+5+100=205\)(真的是出乎意料) \(T1\):抵制克苏恩(点此看题面) 原题: [BZOJ4832][Lydsy1704月赛] 抵制克苏恩 应该还是一个比较简单的\(DP ...

  6. vuejs挂载点,模板与实例的关系

    <body> <div id='root'> <h1>{{msg}}</h1> </div> <script> new Vue( ...

  7. python_58_装饰器1

    装饰器:定义:本质是函数,(装饰其他函数),就是为其它函数添加附加功能原则:1.不能修改被饰的函数的源代码 2.不能修改被饰的函数的调用方式实现装饰器知识储备: 1.函数即“变量” 2.高阶函数 3. ...

  8. 漫谈 Clustering (3): Gaussian Mixture Model

    上一次我们谈到了用 k-means 进行聚类的方法,这次我们来说一下另一个很流行的算法:Gaussian Mixture Model (GMM).事实上,GMM 和 k-means 很像,不过 GMM ...

  9. Luogu [P1958] 上学路线_NOI导刊2009普及(6)

    上学路线_NOI导刊2009普及(6) 题目详见:上学路线_NOI导刊2009普及(6) 这是一道基础的DFS(深搜)题,堪称模板,是新手练习搜索与回溯的好题选. 大致思路:从(1,1)开始搜索,每次 ...

  10. React后台管理系统-首页Home组件

    1.Home组件要显示用户总数.商品总数和订单总数,数据请求后端的 /manage/statistic/base_count.do接口,返回的是 this.state = {            u ...