코코아 앱을 출시하는 동안 스플래시 화면을 보여주는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/685062

  •  22-08-2019
  •  | 
  •  

문제

코코아 기반 애플리케이션이 시작되는 동안 사용자에게 스플래시 화면 (사진)을 보여주고 싶습니다. 이것이 어떻게 가능합니까?


먼저 감사합니다. 내 앱이 한동안 실행되기 때문에 앱이 실행되기 전에 스플래시를 표시하고 싶습니다. 이제 이미지가있는 창이 표시되면 앱을 실행하는 방법이 있습니까? 스플래시 후 앱이 실행되는지 확인하는 방법은 무엇입니까? 시퀀스를 얻기 위해 어떻게해야합니까?


먼저 대단히 감사합니다. ApplicationWillFinishLaunching 메소드의 창을 표시 한 다음 OrderFront를 사용한 다음 ApplicationDidFinishLaunching에서 숨기기 : 주문 아웃 사용, 이제 메인 위도우가 표시되지 않고 앱이 종료되는 것을 발견했습니다. 이 질문을 다시 불러 일으키는 방법은 무엇입니까? 감사!

도움이 되었습니까?

해결책

베드로의 대답은 궁극적으로 정확하지만 (당신 ~해야 한다 앱을 다시 작성하여 더 빨리 시작하십시오) 때로는 실용적인 옵션이 아닙니다. 예를 들어 응용 프로그램의 뒷부분에 코드를로드하는 데 너무 오래 걸릴 수 있습니다 (예 : 데이터 수집 응용 프로그램). 시작시로드 할 수 있습니다. 스플래시 화면을 표시하기로 결정한 경우 가장 쉬운 방법은 응용 프로그램 대의원에서 표시하는 것입니다. applicationWillFinishLaunching: 방법. 애플리케이션에서 스플래시 윈도우를 만들고 MainMenu.nib를 작성하고 해당 창을 참조하는 앱 대의원에 콘센트를 추가하십시오. 그런 다음 창을 화면에 넣을 수 있습니다 applicationWillFinishLaunching: 그리고 그것을 숨기십시오 applicationDidFinishLaunching:. 이 시간 동안 기본 스레드의 NSRUNLOOP가 반복되지 않으므로 스플래시 화면 (상태, 진행률 표시 줄 등)을 업데이트하려면 해당 재정의 이벤트를 직접 관리해야합니다.

다시, 긴 스타트 업이 필요한지에 대해 매우 열심히 생각하십시오. 그렇다면 스플래시 화면을 표시합니다 Progess 지표와 함께 사용자에게 빚진 최소값입니다.

다른 팁

왜 당신은 사용자를 싫어합니까?

진지하게, 이것을하지 마십시오. 사용자가 앱을 사용하기를 기다리지 마십시오. 대신 앱을 신속하게 시작하십시오.

(그리고 대답을 주장하는 경우를 대비하여 : 이미지가있는 창문을 보여주고, 사용자가 충분히 오래 기다렸다 고 느낄 때 창을 숨기십시오.)

이미지와 함께 창을 올려 놓고 시작 초기화가 완료되면 닫으십시오.

위의 Barry의 답변은 문서 기반 앱에서 작동하지 않는 것 같습니다. 내부에 스플래시 창이 표시됩니다 applicationWillFinishLaunching: 문서 창이 생성되지 않도록 앱의 시작 시퀀스를 방해합니다. 예제 프로젝트를 업로드했습니다 여기. ~ 안에 applicationWillFinishLaunching:, 댓글을 달아라 [_splashWindow orderFront:self ] 그리고 문서 창이 나타납니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top