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

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. 利用python进行简单的图片处理

    python的 PIL模块是专门用来处理图片的模块,其功能可以说是非常强大了. 演示环境:win7 操作系统 安装python2.7以及指定的对应PIL模块 我这里有一个现成的PIL模块.本文的大部分 ...

  2. Tomcat中配置JAVA_HOME

    一般来说我们在使用Tomcat时配置JAVA_HOME都是采用的系统环境变量直接配置,下面我提供一种新的配置思路. 这里我们使用的是免安装版的apache-tomcat-7.0.35,首先我们安装好j ...

  3. Dll注入:x86/X64 SetThreadContext 注入

    在<Windows核心编程>第七章说到了线程优先级等知识,其中谈到了ThreadContext线程上下背景文. 其中介绍了GetThreadContext函数来查看线程内核对象的内部,并获 ...

  4. 【51nod1299】监狱逃离(树形DP)

    点此看题面 大致题意: 在一棵树中有\(N\)条边连接\(N+1\)个节点,现在已知这棵树上的\(M\)个节点,要求封住最少的节点,使这\(M\)个节点中的任意一个节点无法到达叶子节点,若能办到输出最 ...

  5. squid如何屏蔽User-Agent为空的请求

    搞定了,反过来就行了acl has_user_agent browser ^ http_access deny !has_user_agent

  6. Linux 下MySQL数据库配置远程访问

    1. mysql -u root -p 第一次直接回车跳过密码 2. use mysql; 3.执行授权命令 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDE ...

  7. NUMA的原理与局限

    为什么要有NUMA 在NUMA架构出现前,CPU欢快的朝着频率越来越高的方向发展.受到物理极限的挑战,又转为核数越来越多的方向发展.如果每个core的工作性质 都是share-nothing(类似于m ...

  8. python 线程even

    import threading,time import random def door(nums): num=1#电梯在一楼 while True: print("this door is ...

  9. 使用vue-cli创建项目

    使用Vue UI创建.管理项目 1.全局安装vue-cli 3.0 npm install -g @vue/cli 2.启动vue ui 创建项目: vue ui

  10. 【Java-JVM】定量分析解决OutOfMemoryError: PermGen space, 来看科学量化分析

    网络上搜集,有操作有分析. 一.问题 在部署大型的 Java Web项目的时候,或者在 MyEclipse 中进行调试的时候经常出现: OutOfMemoryError: PermGen space ...