찾다

 >  Q&A  >  본문

Objective-c - 버튼 클릭으로 트리거된 pushViewController에서 컨트롤러가 여러 번 팝업되는 것을 방지하는 방법은 무엇입니까?

다른 컨트롤러로 푸시하기 위해 버튼을 클릭했는데, 가끔 네트워크 상태가 좋지 않아 클릭해도 응답이 없는 경우가 있는데, 다시 클릭하면 컨트롤러가 두 번 팝업되는 경우가 있는데 어떻게 처리해야 할까요?

仅有的幸福仅有的幸福2845일 전677

모든 응답(4)나는 대답할 것이다

  • 世界只因有你

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

    문제 설명에는 배경이 설명되지 않습니다.
    네트워크 요청이 중단되어 메인 스레드가 차단된 경우.
    네트워크 요청을 동시 대기열에 비동기적으로 넣고 버튼을 클릭한 후 푸시 메서드를 실행합니다.
    또는 버튼을 클릭한 후 비활성화하고, 네트워크 차단이 완료된 후 버튼을 복원하세요.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-02 09:22:41

    플래그를 추가해서 if 판단을 할 수 있을 것 같아요. 사용자가 플래그를 클릭해서 true로 설정하면 다음 번에 true로 판단될 때 사용자가 클릭할 수 없거나 클릭해도 아무런 효과가 없습니다. .

    회신하다
    0
  • 为情所困

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

    일반적으로 인터페이스를 차단하고 사용자 조작을 방지하기 위해 HUD를 탑재합니다.

    회신하다
    0
  • 仅有的幸福

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

    최상의 사용자 경험은 사용자가 버튼을 터치할 때 상호 작용을 제공하는 것입니다. 즉, 사용자가 제출하지 못하도록 플래그를 설정하는 것입니다. 또한 제출 여부에 관계없이 사용자가 제출 상태를 볼 수 있도록 노력해야 합니다. 결국 성공하거나 실패합니다. 그런 다음 사용자와 다시 상호작용하여 제출 작업을 완료합니다.

    회신하다
    0
  • 취소회신하다