搜尋

首頁  >  問答  >  主體

objective-c - button點擊觸發的pushViewController怎麼避免多次彈出控制器?

點擊button,push到另一個controller,但是有時網路不好,點擊了卻沒有回應,再點擊一次,會彈出兩次控制器,這種情況應該怎麼優雅的處理。

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

全部回覆(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
  • 取消回覆