저는 작업중인 앱의 iPad 절반에 약간의 버그를 찾아 내려고 노력하고 있습니다. 그것은이 게시물에 문제에 관련이 :iPad UISplitView Detail 툴바가 시작시 NULL이됩니다.
iPad SplitViewController Strange Behaviour
사실, 나는 정확히 같은 문제를 말할 것이다. 그러나 거기에 주어진 유일한 해결책은 내 응용 프로그램이 적절한 단추를 눌렀을 때 내 UISplitViewController의보기로 스왑하는 기본 메뉴를 가지고 있기 때문에 나에게 적합하지 않습니다. 컨트롤러와 그 안에 포함 된 뷰 컨트롤러는 버튼을 누를 때까지 생성되지 않습니다. 따라서 메인 메뉴가로드 될 때까지 완료되었으므로 [window makeKeyAndVisible]을 호출하기 전에 컨트롤러의 위임을 설정할 수 없습니다.
NSLog(@"Will hide popover view controller!");
NSLog(@"self=%p",self);
NSLog(@"%@",detailPad.tbToolbar);
내가 세로 모드에서 아이 패드 응용 프로그램을 시작하고 분할 뷰 컨트롤러로 전환을 클릭하면 다음과 같이
지금, 나는 추가 한 일부 NSLog는 대리인의 willHideViewController 함수를 호출 위임자의 willHideViewController가 실제로 호출되지만, 완료되면 세부 뷰에 빈 툴바가 표시됩니다. 이것에 대한 이상한 부분은 디테일 뷰 컨트롤러 툴바에 대한 정보를 출력해야하는 세 번째 NSLog 호출이 대신 (null)을 출력한다는 것입니다. 앞의 코드가 도구 모음의 항목을 설정한다는 사실에 의해 약간 낯선 것입니다.이 코드는 도구 모음이 분명히 존재하지 않지만 단일 예외를 발생시키지 않습니다. 당신이 볼 수 있듯이
[Session started at 2011-02-23 16:16:59 -0500.]
2011-02-23 16:17:02.626 TEST[33835:207] Will hide popover view controller!
2011-02-23 16:17:02.628 TEST[33835:207] self=0x5351bc0
2011-02-23 16:17:02.629 TEST[33835:207] (null)
2011-02-23 16:17:14.487 TEST[33835:207] Will hide popover view controller!
2011-02-23 16:17:14.488 TEST[33835:207] self=0x5351bc0
2011-02-23 16:17:14.490 TEST[33835:207] <UIToolbar: 0x56201a0; frame = (0 0; 703 44); autoresize = W+BM; layer = <CALayer: 0x5620260>>
2011-02-23 16:24:52.158 TEST[33835:207] Will hide popover view controller!
2011-02-23 16:24:52.159 TEST[33835:207] self=0x5351bc0
2011-02-23 16:24:52.160 TEST[33835:207] <UIToolbar: 0x56201a0; frame = (0 0; 703 44); autoresize = W+BM; layer = <CALayer: 0x5620260>>
, 이후 로그는 도구 모음이 잘 살아 있고 것을 보여, 우리는 호출이 모든 경우에 동일한 개체에서 오는 알고있다. 나중에 전화가 가로로 돌아간 후 다시 세로로 돌아 왔기 때문에 전화가 똑같이 디테일 뷰 컨트롤러가되었습니다.
그럼 내 질문은 다음과 같습니다. 툴바가 처음으로 null로 돌아 오지 만 iPad를 돌리면서 아무것도하지 않고 제대로 작동하면 무엇을 해결할 수 있습니까? 사전에
감사합니다, 라이언