2012-08-13 3 views
-1

iOS5에서 iPhone 용 응용 프로그램을 개발하는 법을 배우고 있습니다. 나는 다른 어떤 버전에 대한 사전 경험이 없다. 나는 여러 방향을 지원하기를 원했고 나는 최근에 많은 것을 찾고 있었다. 하지만 해결책을 찾지 못했습니다.iOS 5 objective C orientation

1) 오리엔테이션 변경에 따라보기 컨트롤러를 스택 안팎으로 밀어 넣을 수있는 탐색 컨트롤러를 사용할 수 있습니다. 하지만 그 말은 모든 것을 가로로 두 장씩, 그리고 장대 한 장으로 두 장씩 만들어야합니다.

2) 새로운 가로보기 컨트롤러를 만듭니다. potrait 뷰 컨트롤러의 willRotateToInterfaceOrientation 메소드에서 랜드 스케이프 뷰 컨트롤러의 인스턴스를 초기화하고 presentViewController로 설정합니다. 풍경 VC에서 potrait의 인스턴스를 초기화하고 동일하게합니다. 그러나 이것은 네비게이션 컨트롤러의 경우처럼이 인스턴스가 '팝'상태가되기 때문에 점점 더 많은 메모리를 차지할 것이라고 생각합니다. (아직 메모리 관리 안내서를 읽지 않았습니다)

3)보기의 크기 조정에 대한 몇 가지 사항이 있습니다. 나는이 방법을 정말로 이해했다.

일반적으로 사용되는 방법과 그 이유를 알려주십시오.

+0

당신이 방향을 설정하는 방법을해야합니까? –

+0

내 Sreen이 방향 변경에 적응해야한다. 내보기가 화면 위나 아래로 움직여서는 안됩니다. 내가 언급 한 세 번째 해결책은 현재 나를 위해 일하고있다. http://www.techotopia.com/index.php/IOS_5_iPhone_Rotation,_View_Resizing_and_Layout_Handling 그러나 나는 이것이 작동하지 않을 곳이있을 것이라고 생각한다. 그래서 별도의 컨트롤러를 만드는 것도 옵션으로 고려되었습니다. – neeraj

+0

당신은 LandScape와 초상화를 의미합니까? –

답변

0

가로 및 세로에 대해 별도의 ViewController를 만들 필요가 없습니다.

If suppose You have a button named btnSample. 


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    UIInterfaceOrientation des=self.interfaceOrientation; 
    if ((interfaceOrientation==UIInterfaceOrientationPortrait)||(interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)) 
    { 

// 세로

btnSample.frame=CGRectMake(10,10,100,70); 

    } 
    else 
    { 

// 풍경

btnSample.frame=CGRectMake(200,100,100,70); 

    } 

}

+0

감사합니다. 나는 그것이 효과가있을 것이라고 생각한다. 그러나 지금은 작은 앱을 만들었습니다. 그러나 더 큰 앱을 만들고 다른 방향에 대해 별도의보기 컨트롤러를 사용하는 사람들이 있습니다. 왜 그런가요? 조금 더 큰 규모의 애플리케이션에 필요할 수도 있다고 생각하십니까? – neeraj

+0

확실히 앱에 오리엔테이션이 필요합니다. 풍경과 초상화. 그러나 Cocos2d의 게임과 같은 대규모 앱의 경우 방향이 하나뿐입니다. 풍경이나 초상화. 코드가 작동하는지 여부를 확인하십시오. 이 대답에 만족하면 동의하십시오. –

+0

앱에 오리엔테이션이 필요하다고 확신합니다. 그러나 나는 사용되는 방법에 대해 이야기하고있다. 위와 같은 간단한 방법으로 방향 변경을 처리 할 수있는 경우 서로 다른보기 컨트롤러를 만드는 방법이 제안 되었습니까? – neeraj