搜索

首页  >  问答  >  正文

objective-c - button点击触发的pushViewController怎么避免多次弹出控制器?

点击button,push到另一个controller,但是有时网络不好,点击了却没有响应,再点击一次,会弹出两次控制器,这种情况应该怎么优雅的处理。

仅有的幸福仅有的幸福2757 天前652

全部回复(4)我来回复

  • 世界只因有你

    世界只因有你2017-05-02 09:22:41

    问题描述没交代背景。
    如果是网络请求卡主了主线程。
    将网络请求异步放到并发队列中,点击按钮,就执行push 方法。
    或者点击按钮后禁用按钮,网络阻塞完成后恢复按钮。

    回复
    0
  • ringa_lee

    ringa_lee2017-05-02 09:22:41

    觉得可以加个flag吧,进行if判断,如果用户点击了flag设成true,下次判断为true时就不能点击,或者点击无效果。

    回复
    0
  • 为情所困

    为情所困2017-05-02 09:22:41

    一般的话,是加载一个HUD来遮挡住界面,防止用户操作.

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:22:41

    最好的用户体验应该是触碰按钮的时候应该给用户一个交互也就是设置个flag不让用户在提交,除此之外还尽量让用户看到提交中的状态,最后成功或失败后再次跟用户交互来完成提交操作

    回复
    0
  • 取消回复