2012-02-10 9 views
0

그 주제에 대한 스레드가 상당히 많다는 것을 알고 모든 옵션을 시도했습니다. 그러나 아무것도 작동하지 않습니다.iPhone objective c 앱 시작시로드 할보기 컨트롤러를 선택하는 방법

그래서 여기에 loginviewcontroller와 tabbarviewcontroller가 있습니다. 장치가 이미 등록되어있는 경우 loginview가 아니라면 tabbar가 나타나야합니다. 나는 스토리 보드에서 초기보기 컨트롤러로 tabbarviewcontoller 있습니다. 장치가 등록되어 있으면 작동합니다. 이것은 기본적으로 내가 할 것입니다 :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 

//define viewcontroller 
LoginViewController *loginviewcontroller = [[LoginViewController alloc]init]; 

//check if device id in coredata 
NSString *deviceId = [self retrieveFromUserDefaults:cKey_DeviceId]; 
if(deviceId == nil){ 
    NSLog(@"device not registered"); 
    [self.window setRootViewController:loginviewcontroller]; 
    [self.window addSubview:loginviewcontroller.view]; 
} 

//show them 
[self.window makeKeyAndVisible]; 

return YES; 

}

내 loginview에있는 viewDidLoad 방법에 NSlog 출력을 가지고, 그래서 loginview이로드되었는지, 알고있다. 그러나 스크린은 검은 색이다 !!! 나는 이유를 모른다. viewcontroller는 viewdidload 메소드를 실행하지만 화면 출력 만 없습니다.

내가 뭘 잘못합니까 ???

감사 도미니크 LoginViewController가 .xib 파일이있는 경우, 잘못된 init 메소드를 호출하고

+0

NSLog (@ "device not registered"); 이걸 통나무에 넣었 니? – hchouhan02

+0

'창'을 유선으로 연결 했습니까? 'NSLog (@ "% @", self.window)'그럼 의미있는 결과물을 얻을 수 있습니까? – Tommy

+0

예, 로그가 "장치가 등록되지 않았습니다"!! –

답변

0

. 당신은 initWithNibName : bundle : 메소드를 원한다.

또한 루트보기 컨트롤러를 설정 한 후에 [self.window addSubview:loginviewcontroller.view];을 호출 할 필요가 없습니다.

그리고 deviceId가 null이 아닌 경우 빈 화면이 표시됩니다.

loginviewcontroller가 메모리를 유출하고 있습니다. 루트보기 컨트롤러에 설정 한 후에 해제해야합니다.

+0

안녕하세요, 저는 stroyboard로 작업 중이므로 loginviewcontroller 용 .xib 파일이 없습니다. 짜증나는 것은 이것이 내가 비슷한 것을 원한다는 첫 번째 앱이 아니라는 것이다. 마지막으로 iOS4를 사용하고 스토리 보드를 사용하지 않은 것이 더 쉽습니다. –

+0

BTW : sdk5가있는 ios4.2는 ARC 때문에 릴리스 할 수 없습니다. –

0

대부분의 경우 비밀번호를 사용하여 초기 (이미 로그인 된) 화면을로드 한 다음 로그인이 필요한지 확인하는 것이 가장 좋습니다. 그렇다면 즉시 모달보기로 로그인 화면을 작성하십시오. 초기 화면에서 viewDidLoad에서 로그인 화면을 시작하십시오.

+0

좋은 생각, 내일, 감사 할께. 때로는 "in"문제가있을 때 다른 것을 보지 못한다.) –

+0

모달 뷰를 팝하는 가장 좋은 방법은 무엇입니까? viewdidload 또는 viewwillapear? 아니면 다른 제안입니까? –

+0

찾고있는 전화가 presentModalViewController : animated : –