2011-11-23 2 views
0

창 (모든 하위보기를 반복하는 [[UIApplication sharedApplication] windows] 반복)에서 시작하는 모든 하위보기를 재귀 적으로 나열하면 응용 프로그램의 모든보기가 표시되지 않습니다.모든보기를 활성화하려면 어떻게합니까?

인터페이스 빌더 내의 툴바 또는 탐색 막대에있는 버튼에 태그를 할당 할 때 윈도우 또는 뷰 인스턴스에서 시작하여 viewWithTag: 메소드로 찾을 수 없습니다. 하지만 대부분의 시간에 태그가 달린 도구 모음이나 탐색 모음을 찾았습니다.

단추, 도구 모음 등에서 프로그래밍 방식으로 돌아가 슈퍼 뷰를 호출하면 매우 자주 창으로 돌아 가지 않습니다.

응용 프로그램 내에서 모든보기를 활성화하는 방법이 있습니까?

+0

[이 답변] (http://stackoverflow.com/q/2715772/154803)에 대한 코드가 있습니다 – progrmr

+0

@progrmr 멋진 작은 스 니펫 - 공유 해 주셔서 감사합니다 – Till

+0

코드 스 니펫에 대한 링크 주셔서 감사합니다. 그러나 이것은 문제를 해결하지 못합니다. Acutally, 나는 모든 하위 뷰를 얻기 위해 비슷한 코드를 사용했다. –

답변

0

모든보기를 얻으려면 모든보기가 생성 될 때까지을 기다려야합니다. 그리고 이것은 약간의 시간이 걸립니다.

나는 [self displayViews]과 같은 내 덤핑 기능을 viewDidLoad이라고 불렀고 나머지는 아직 생성되지 않았기 때문에보기의 일부만 얻었다.

모든 뷰를 얻을 수있는 올바른 방법은, performSelector를 호출하는 것입니다이 큐 같은 위협에서 요청 때문에,하지만 조금 기다려야 않습니다에 도구 모음 단추에 할당 된 태그 :

[self performSelector:@selector(displayViews) withObject:nil afterDelay:1.0f]; 

비고 버튼이 어떻게 든 다르게 코딩 되었기 때문에 인터페이스 빌더가 표시되지 않습니다. 즉, 단추가 나타나지만, 태그 값은 0입니다.

관련 문제