问题描述
点击button,push到另一个controller,但是有时网络不好,点击了却没有响应,再点击一次,会弹出两次控制器,这种情况应该怎么优雅的处理。
问题解答
回答1:问题描述没交代背景。如果是网络请求卡主了主线程。将网络请求异步放到并发队列中,点击按钮,就执行push 方法。或者点击按钮后禁用按钮,网络阻塞完成后恢复按钮。
回答2:觉得可以加个flag吧,进行if判断,如果用户点击了flag设成true,下次判断为true时就不能点击,或者点击无效果。
回答3:一般的话,是加载一个HUD来遮挡住界面,防止用户操作.
回答4:最好的用户体验应该是触碰按钮的时候应该给用户一个交互也就是设置个flag不让用户在提交,除此之外还尽量让用户看到提交中的状态,最后成功或失败后再次跟用户交互来完成提交操作