iOS开发禁用多个按钮同时点击导致误触

2024-01-26 05:48

本文主要是介绍iOS开发禁用多个按钮同时点击导致误触,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iOS开发禁用多个按钮同时点击导致误触

在开发iOS项目的时候很多开发者都不会考虑这样的一个问题,包括我也不会——一个界面内有多个按钮或者touch事件同时进行会怎么样?

单从字面上看可能不容易理解,举个比较容易理解的例子.
在某个应用的首页上,有两个按钮,我们单独的点击每一个按钮都会触发一次点击事件,这个本身没有任何毛病,类似于点击第一个按钮跳转到第一个子界面,点击第二个按钮跳转到第二个子界面.但是我们是做的移动开发,我们会不会有过这样的尴尬呢?我们手指比较粗,或者多个手指同事操作, 偶然间的我们会发生误触,导致一个尴尬的场景——两个按钮同时点击了,那么样的结果就是,会闪现两次跳转页面,即跳转第一个子界面和跳转第二个子界面都会发生.很显然这个不是我们想要的.那么怎么屏蔽呢?

1.我们可能会想到禁用按钮点击的方式,如果按钮1点击了,立刻禁止按钮2的点击,事件结束后开启按钮2的点击,同样的按钮2页做类似的操作,
实验下来有效么? 不能说完全无效,如果禁止按钮点击的代码已经实现了的话.
我们多次尝试,还是会发现有误触现象.这个方法原理上行得通,但是,真正点击的时候,你会发现禁止按钮点击的实现和点击按钮的事件的先后并不能完全保证…
如果两次点击稍微错开一点点时间差是没有问题的,但是如果两次点击很接近就会出现问题.
如果是这样的状态,没有问题
这里写图片描述
但是如果时间段上移一点,则一样没有效果
这里写图片描述

当然如果你说你可以采用延迟执行的方式,保证每次执行都会延迟操作,并且做判断…当然这样复杂的操作是肯定可以实现的,但是很显然太复杂了.
那么我们就没有办法了吗?或者我们找找系统方法,看看有没有能够实现的其他途径.

2.很显然,iOS开发的框架中是有这样的方法的.

这篇关于iOS开发禁用多个按钮同时点击导致误触的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/645821

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录