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
//
// 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的区别的更多相关文章
- IOS开发学习笔记(2)-----UIButton 详解
1. [代码][C/C++]代码 //这里创建一个圆角矩形的按钮 UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRou ...
- iOS开发学习笔记:基础篇
iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...
- ios开发学习笔记(1)
objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式:self.window = ...
- ios开发学习笔记(这里一定有你想要的东西,全部免费)
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...
- iOS开发学习笔记
1 常用的第三方工具 1.1 iPhone Simulator 测试程序需要模拟器iPhone Simulator 1.2 设计界面需要Interface Builder,Interface Buil ...
- IOS开发学习笔记021-练习2
只是简单练习一下,主要是学习里面的思想,处理问题的方法. 不过还有一个问题没想到解决方法. 那就是动态生成的按钮如何绑定按钮事件,请哪位大神指点一下啊.(知道怎么办了,原来是方法addTarget) ...
- IOS开发学习笔记043-QQ聊天界面实现
QQ聊天界面实现 效果如下: 实现过程: 1.首先实现基本界面 头像使用 UIImageView : 文字消息使用 UIButton 标签使用 UILable :水平居中 所有元素在一个cell中,在 ...
- ios开发学习笔记040-autolayout 第三方框架Masonry
不管是是界面创建约束还是代码创建约束,苹果官方提供的方式都比较繁琐.所以出现了第三方框架. Masonry 在github地址如下: https://github.com/SnapKit/Masonr ...
- IOS开发学习笔记037-九宫格代码实现
九宫格布局,用手机输入法时经常见到.先按3行3列写. 代码的实现主要是计算插入图片的位置. 每一张图片的位置和所在的行列密切相关.分析过程如下: 界面: 代码实现 1.把需要的图片资源添加进来 然后给 ...
随机推荐
- Redis集群维护、运营的相关命令与工具介绍
Redis集群的搭建.维护.运营的相关命令与工具介绍 一.概述 此教程主要介绍redis集群的搭建(Linux),集群命令的使用,redis-trib.rb工具的使用,此工具是ruby语言写的,用于集 ...
- spark集群配置细则总结
修改目录与目录组: sudo chown -R hadoop:hadoop spark-1.6.1-bin-hadoop2.6 sudo chown -R hadoop:hadoop jdk1.8.0 ...
- 关于前端的交互 ajax
对于交互来说,可以利用原生的javascript和jquery 这篇说的就是jquery 1 不是跨域的 利用$ajax({})这个函数实现的 $.ajax({ url: "", ...
- [转]iOS开发总结之代码规范
转自:http://www.cocoachina.com/ios/20151014/13678.html 命名规范 总 的来说, iOS命名两大原则是:可读性高和防止命名冲突(通过加前缀来保证). O ...
- POJ - 3685 Matrix
二分kth,答案满足的条件为:m ≤ 小于等于x的值数cntx.x和cntx单调不减,随着x增大,条件成立可表示为:0001111. 本地打一个小型的表可以发现列编号j固定时候,目标函数f(i,j)似 ...
- python_30_购物车复习
prodcut_list=[ ('Iphone', 5800), ('Mac Pro', 9800), ('Bike', 800), ('Watch', 10600), ('Coffee', 31), ...
- 什么是SAD,SAE,SATD,SSD,SSE,MAD,MAE,MSD,MSE?
SAD(Sum of Absolute Difference)=SAE(Sum of Absolute Error)即绝对误差和 SATD(Sum of Absolute Transformed Di ...
- C#继承机制 多级继承
一些面向对象语言允许一个类从多个基类中继承,而另一些面向对象语言只允许从一个类继承,但可以随意从几个接口或纯抽象类中继承. 只有C++支持多级继承,许多程序员对此褒贬不一.多级继承常会引起继承来的类之 ...
- git系列讲解
1.git是什么呢?维基百科给出的定义: git是一个分布式版本控制软件,最初由(Linus Torvalds)创作 什么是版本控制?项目经理与程序员的恩怨情仇企业真实案例:开发了a功能,之后项目所要 ...
- 零基础快速入门SpringBoot2.0教程 (四)
一.JMS介绍和使用场景及基础编程模型 简介:讲解什么是小写队列,JMS的基础知识和使用场景 1.什么是JMS: Java消息服务(Java Message Service),Java平台中关于面向消 ...