【iOS开发-46】利用UIButton和UIImageView的区别分辨哪些控件有addTarget监听事件这个方法

(1)UIButton和UIImageView的相同点

都能显示图片。

(2)UIButton和UIImageView的不同点

——前者不仅能显示图片还能监听事件(就是有addtarget方法)

——前者不仅能显示图片还能显示两张图片(就是setImage和setBackgroundImage两个方法)

——前者不仅能显示图片还能显示文字(就是setTitle方法)

(3)使用场合

——如果仅仅是显示一个图片没其他花头,那就用UIImageView

——如果有其他,那么……

因为如果仅仅用于显示图片,UIButton控件相比于UIImageView控件会更加耗内存一些,毕竟UIButton功能多嘛,就像包一样,虽然是个空包,但是包本身就很大,那么肯定会相对重一些。

(4)深层次原因。

——UIButton继承自UIControl,UIControl继承自UIView

——UIImageView直接继承自UIView

(5)总结

——继承自UIControl的控件都有addTarget方法,因为这个方法是UIControl的,继承自它,当然这个方法也继承过来了,实际上UIButton调用这个方法时是调用它父类也就是UIControl的。

——如果要看一个控件是否支持事件监听,那么久CMD+点击,看看它是否继承自UIControl,比如UISlider。

时间: 2025-01-04 14:19:07

【iOS开发-46】利用UIButton和UIImageView的区别分辨哪些控件有addTarget监听事件这个方法的相关文章

Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制

做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的. 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件,然后初始化该控件并对该控件添加文本监听.xml自己简单的设计一下,代码较为简单,直接上代码: package com.example.edittext; import android.app.Activity; import android.os.Bundle; import an

【iOS开发-56】案例BUG:按钮的enabled、控件的userInteractionEnabled以及两种提示框UIAlert和UIActionSheet

接上述案例找BUG:[iOS开发-51]案例学习:动画新写法.删除子视图.视图顺序.延迟方法.按钮多功能用法及icon图标和启动页设置 (1)BUG:答案满了就不能再点击option按钮,答案没满就能点. 在optionClick方法的if(full)中设置,即判断答案是否满了,如果满了,则: if (full) { //如果答案满了,不管是否正确,只要满了,下面的option按钮就不能被点击 for (UIButton *optionBtn in self.optionView.subview

【iOS开发-56】案例BUG:button的enabled、控件的userInteractionEnabled以及两种提示框UIAlert和UIActionSheet

接上述案例找BUG:[iOS开发-51]案例学习:动画新写法.删除子视图.视图顺序.延迟方法.button多功能使用方法及icon图标和启动页设置 (1)BUG:答案满了就不能再点击optionbutton,答案没满就能点. 在optionClick方法的if(full)中设置,即推断答案是否满了,假设满了.则: if (full) { //假设答案满了,无论是否正确,仅仅要满了,以下的optionbutton就不能被点击 for (UIButton *optionBtn in self.opt

IOS 开发笔记-基础 UI(6)照片浏览器(控件的懒加载)

使用UIImageView.UILabel.UIButton实现一个综合小案例 功能分析 (1)点击箭头切换序号.图片.描述 (2)如果是首张图片,左边箭头不能点击 (3)如果是尾张图片,右边箭头不能点击 步骤分析 (1)搭建UI界面 (2)监听按钮点击 切换序号.图片.描述 1. 界面分析 1> 需要读取或修改的属性的控件 // 序号标签 // 图片 // 图片描述 // 左边按钮 // 右边按钮 2> 需要监听响应事件的对象,需要添加监听方法 // 左边按钮 // 右边按钮 uiimage

iOS开发——UI高级OC篇&自定义控件之调整按钮中子控件(图片和文字)的位置

自定义控件之调整按钮中子控件(图片和文字)的位置 其实还有一种是在storyBoard中实现的,只需要设置对应空间的左右间距: 这里实现前面两种自定义的方式 一:imageRectForContentRect/titleRectForContentRect 自定义一个按钮控件在系统自带的位置设置方法中实现对应子控件位置调整 1 /** 2 3 * 设置内部图标的frame 4 5 */ 6 7 - (CGRect)imageRectForContentRect:(CGRect)contentRe

iOS开发UI之UIButton的基本使用

一. 继承关系: UIButton --> UIControl --> UIView 二. 什么是按钮 UIButton既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 三. UIButton的状态 UIControlStateNormal : 默认状况 UIControlStateHighlighted : 高亮状态(按钮被按下去的时候,既为手指还未松开) UIControlStateDisabled : 失效状态,不可用状态 如果enable = NO,处于disable状态,

iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)

今天要实现一个功能, 通过iTunes导入文件到应用中, 并且在应用中对这个文件进行编辑. 类似我们平时经常使用的 PDF阅读器那样的东西, 我们可以自己导入我们的电子书. 源码下载:https://github.com/colin1994/iTunesTest.git 下面具体介绍下实现过程. 先看效果图. 图1. 未实现功能前, iTunes截图 图2. 实现功能后, iTunes截图 图3. 实现功能后, 运行截图. 好了, 通过图片, 我们可以看到实现的效果. 功能包括: 允许通过iTu

iOS开发系列之一 - UIButton 用法小结

// 初始化按钮并设置类型 UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 能够定义的UIButton类型有以下6种: // typedef enum { // UIButtonTypeCustom = 0, 自定义风格 // UIButtonTypeRoundedRect, 圆角矩形 // UIButtonTypeDetailDisclosure, 蓝色小箭头按钮,主要做详细说明用 // UIButto

iPhone 和 iPad的ios 开发中 利用 WebViewJavascriptBridge组件,通过 UIWebView 对Html进行双向通讯

本文转载至 http://blog.csdn.net/remote_roamer/article/details/7261490 WebViewJavascriptBridge 项目的 官网 https://github.com/marcuswestin/WebViewJavascriptBridge 主要过程: 下载WebViewJavascriptBridge.h 和 WebViewJavascriptBridge.m文件到自己的项目中,并添加到项目. 在相应的.h文件中 使用#import