MBProgressHUD和SVProgressHUD各自的缺点及解决方案

简介: MBProgressHUD和SVProgressHUD各自的缺点及解决方案

MBProgressHUD和SVProgressHUD各自都有缺点:

当A页面进入B页面,B页面查询数据时,报错需要弹出toast弹窗,并退出B页面到A页面。一般toast弹窗是现实在keywindow上的,但是kewindow是B页面,而由于自动返回A页面,B页面销毁了,就看不到这个toast弹窗了。使用MBProgressHUD时就会遇到该问题。有的app为了解决这个问题人为延迟推出B页面,这样降低用户的体验流畅度,不完美。另一种采用SVProgressHUD来实现,它是异步时弹窗,显示调用弹窗和实际显示弹窗有一个时间差,正好在B页面调用弹窗,在回到A页面时,弹窗出来,所以能显示出来。我们遇到过一个问题,一个请求后台在十几毫秒内返回,蒙层弹窗还没有出来请求回来了,并且取消弹窗,实际上SVProgressHUD还没有出来,导致后面没有取消处理了,一直在哪里转圈了。

最佳解决方案是创建一个优先级高于当前级别的window显示蒙层和动画。

当然若搞不定最佳的window解决方案,只能规避两者的缺点两个库都是使用当弹toast弹窗时用MBProgressHUD,当弹模态弹窗时用MBProgressHUD。当然的window解决方案也有它的不完美,就是弹出widndow弹窗时,键盘若在显示时可能消失,widndow弹窗消失时,键盘恢复原来位置。如:在输入手机号达到11位,会自动去后台查询该手机号是否存在,当然在查询期间要弹窗widndow透明蒙层,防止在查询手机号时用户修改了手机号,导致数据不一致,并且是程序自动触发,查询成功后页面会出现变化,当然存在手机号出错,用户修改手机号的场景,所以光标还要在手机号输入框,并且激活键盘状态。这时第一就会出现查询期间键盘消失,查询结束键盘恢复的问题。当发送一个请求回来立即发送另一个请求,并且这两个请求都弹出了蒙层,会出现页面闪烁的问题。所以没有绝对的完美,要以满足用户的功能为主,小细节也可以接受。并且MBProgressHUD(实时)和SVProgressHUD(延时)都是加在keywindow上的,无法系统的控制tabbar按钮切换。总之,window解决方案虽然存在影响键盘的小问题,也不失为更完美的解决方案。

目录
相关文章
|
1月前
|
存储 缓存 安全
基于iOS平台的高效图片缓存策略实现
【4月更文挑战第22天】 在移动应用开发中,图片资源的加载与缓存是影响用户体验的重要因素之一。尤其对于iOS平台,由于设备存储空间的限制以及用户对流畅性的高要求,设计一种合理的图片缓存策略显得尤为关键。本文将探讨在iOS环境下,如何通过使用先进的图片缓存技术,包括内存缓存、磁盘缓存以及网络请求的优化,来提高应用的性能和响应速度。我们将重点分析多级缓存机制的设计与实现,并对可能出现的问题及其解决方案进行讨论。
|
1月前
|
存储 缓存 编解码
实现iOS平台的高效图片缓存策略
【4月更文挑战第23天】在移动应用开发领域,尤其是图像处理密集型的iOS应用中,高效的图片缓存策略对于提升用户体验和节省系统资源至关重要。本文将探讨一种针对iOS平台设计的图片缓存方案,该方案通过结合内存缓存与磁盘缓存的多层次结构,旨在优化图片加载性能并降低内存占用。我们将深入分析其设计理念、核心组件以及在实际场景中的应用效果,同时对比其他常见缓存技术的优势与局限。
|
23天前
|
程序员 UED iOS开发
SVProgressHUD和MBProgressHUD的优缺点与SVProgressHUD震动实现
SVProgressHUD和MBProgressHUD的优缺点与SVProgressHUD震动实现
28 0
|
1月前
|
存储 缓存 算法
构建安卓应用的高效图片加载策略
【4月更文挑战第16天】在移动设备上优化用户体验的关键之一是快速而高效的图片加载。对于Android平台而言,由于设备多样性和网络环境的不稳定性,设计一个既能提升速度又能减少资源消耗的图片加载策略尤为重要。本文将深入探讨在Android应用中实现图片加载的几种技术手段,包括图片格式选择、内存缓存、磁盘缓存以及使用第三方库等,旨在为开发者提供一套综合性的解决方案,以实现在不同设备和网络环境下的高效图片加载。
|
1月前
|
数据管理 API 开发工具
Objective-C网络请求开发的高效实现方法与技巧
Objective-C网络请求开发的高效实现方法与技巧
|
1月前
|
存储 Java 测试技术
Cookie复用的妙用:数据处理中的高效利器!
本文介绍了Cookie在Web自动化登录中的应用。Cookie是存储在浏览器上的认证数据,用于身份验证和记录登录信息。通过获取和管理Cookie,自动化测试时可模拟用户登录状态,提高测试效率。使用Cookie自动化登录的步骤包括:登录获取Cookie、存储Cookie、读取Cookie并植入浏览器。Python和Java示例代码展示了如何实现这一过程。常见问题提醒注意Cookie的有效性和互踢机制,确保自动化测试的顺利进行。
42 0
|
前端开发
好客租房82-组件性能优化(2减少不必要的渲染)
好客租房82-组件性能优化(2减少不必要的渲染)
72 0
|
前端开发
好客租房83-组件性能优化(3减少不必要的渲染)
好客租房83-组件性能优化(3减少不必要的渲染)
46 0
好客租房83-组件性能优化(3减少不必要的渲染)
|
前端开发
好客租房84-组件性能优化(4减少不必要的渲染)
好客租房84-组件性能优化(4减少不必要的渲染)
93 0
好客租房84-组件性能优化(4减少不必要的渲染)
|
测试技术
performSelector的原理及应用场景分析
performSelector的原理及应用场景分析
111 0