2009-12-03 6 views
0

iPhone 응용 프로그램에서보기를 전환하는 데 문제가 있습니다. "Beginning iPhone 3 Development"(http://books.google.com/books?id=TcP2bgESYfgC&printsec=frontcover&dq=beginning+iphone+3+development#v=onepage&q=beginning%20iphone%203%20development&f=false) - 제 6 장 - Multiview 응용 프로그램의 소스 코드가 있습니다.보기 전환

이제 문제가 생겼습니다. 블루 스크린 "Press me"버튼을 클릭하여 전환해야하는 새로운보기를 만들고 싶습니다. 그러나 그것은 효과가 없었습니다.

StartViewController *startController = [[StartViewController alloc] initWithNibName:@"StartViewController" bundle:nil]; 
self.startViewController = startController; 

[self.view insertSubview:startController.view atIndex:1]; 
[startController release]; 

그러나 사라지지 않습니다 하단에있는 도구 모음 :

은 내가에게 블루 스크린에 버튼을 누르면 그 IBAction를 이러한 라인을 추가합니다. 그러나이 도구 모음이 사라지길 원합니다.

내가 대신

[self.view insertSubview:startController.view atIndex:1]; 

새로운 XIB 이전 한 뒤에 거짓말

[self.view insertSubview:startController.view atIndex:0]; 

을 썼다면, 그래서 두보기, 신구를 참조하십시오. 왜? 난 그것을 이해하지 못 했어.

미리 감사드립니다 &에 많은 안부 팀

답변

1

당신은 당신이 그것을 숨기려면보기에서 숨길 필요가 있도록 도구 모음이 SwitchView입니다. 툴바에 대해 IBOutlet을 만든 다음 setHidden : (BOOL)을 호출하여 숨길 수 있습니다. BlueViewController에서이 작업을 수행해야하므로 SuperView (SwitchView)로 이동할 수있는 방법이 필요합니다. 또한 새 뷰를 삽입하기 전에 blueViewController에서 removeFromSuperView를 호출하여 수퍼 뷰에서 BlueView를 제거해야합니다. 기본적으로 SwitchViewController의 스위치 단추에서 오는 코드와 같습니다.

업데이트 : 코드를 살펴 봤습니다. BlueViewController.m에서 blueButtonPressed이를 사용하십시오 (ID) 보낸 또한 "View_SwitcherAppDelegate.h"와 "SwitchViewController.h"에 대한이 두 가지의 수입을 추가해야합니다

StartViewController *start = [[StartViewController alloc] initWithNibName:@"StartViewController" bundle:nil]; 
self.startViewController = start; 
[start release]; 
View_SwitcherAppDelegate *appDelegate = [UIApplication sharedApplication].delegate; 
SwitchViewController *switchController = appDelegate.switchViewController; 
switchController.theToolbar.hidden = YES; 
[self.view removeFromSuperview]; 
[self.view insertSubview:startViewController.view atIndex:0]; 

.

+0

IBOutlet UIToolbar * theToolbar를 통합합니다. 및 @property (nonatomic, retain) UIToolbar * theToolbar; SwitchViewController.h에 을 삽입하고 합성합니다. "MainWindow"의 "Switch View Controller"에서 "theToolbar"에 연결했습니다. 다음 코드 줄을 사용하십시오. \t \t StartViewController * start = [[StartViewController alloc] initWithNibName : @ "StartViewController"번들 : nil]; \t self.startViewController = start; \t [시작 릴리스]; \t [self.view removeFromSuperview]; \t [self.view insertSubview : startViewController.view atIndex : 0]; \t [theToolbar setHidden : YES]; "TheToolbar가 선언되지 않았습니다"라는 오류가 나타납니다. – Tim

+0

프로젝트의 최신 소스 코드는 다음과 같습니다. ud05_188.ud05.udmedia.de/spotlight/Project.zip – Tim

+0

작동하지 않습니다. 다음 화면 "StartVireController.xib"에는 텍스트 레이블이 있습니다. 그러나 화면은 흰색입니다. – Tim