2012-06-07 3 views
2

저는 새로운 iOS 프로그래밍으로 가로로만 실행해야하는 간단한 iPhone 게임을 개발 중입니다. 나는 가로 전용 앱의 모범 사례?

  • 가 REQ를 추가 목표 설정에서 ...

    1. 세트가 지원하는 방향을했습니다. PLIST 항목 (초기 인터페이스 방향)
    2. 오버라이드 (override) shouldAutorotateToInterfaceOrientation은 .. 오직 가로 모드

  • 을 위해 YES 돌아 앱은 올바른 "보이는"하지만 계속 몇 가지 이상한 일이있다.

    문제 1 - 수동으로보기를 배치하고 자동 레이아웃에 의존하지 않습니다. NIB에서로드하는 UIView가 화면의 오른쪽 가장자리에서 150px 위치에 있어야합니다. UIViewController의 뷰의 높이 (너비 아님)를 올바르게 배치해야합니다. 코드의이 시점에서 가로로 회전하지 않는 것처럼 말입니다.

    문제 2 - 제목 화면에서 게임 상호 작용으로 이동하는 UINavigationController 구현. UIViewController 인터랙션을 스택에 푸시 할 때, 오른쪽에서 슬라이드하는 것처럼 보이게됩니다. 상호 작용을 팝업하여 제목으로 돌아 가면 제목이 위로 올라갑니다. 그것이 초상화로 돌아가고있는 것처럼 보입니다.

    내가 누락 된 것이 매우 기본적인 것이라고 생각하지만 내 앱 코드에서 찾을 수 없습니다. 나는 경관 용 앱 목록을 살펴 봤지만 위 목록보다 더 많은 것을 언급하지는 않습니다.

    내가 알아서해야 할 다른 것들/설정/방법이 있습니까?

    +0

    첫 번째 문제가 발생했습니다.'-viewDidLoad :'보기가 회전되지 않았지만'-viewWillAppear :'에보기가 가로 방향으로 회전되어 더 많은 방법으로 설정할 수 있음을 발견했습니다. 배고 있다. 나는 문제 2에 대한 도움이 안된다. 두렵다. –

    +0

    다른 viewController에서도'shouldAutorotateToInterfaceOrientation'을 설정 했습니까? 특히 UINavigationController 내부에 표시되는 것들. –

    +0

    @HolgerFrohloff 그게 다야! 지금 고쳐! 감사! –

    답변

    0

    사용합니다. 특히 UINavigationController 내부에 표시되는 것들.

    0

    문제 2 :

    많은 UIViewController를 사용하지 마십시오. 하나의보기 컨트롤러를 사용하십시오. 하나의 메인의 UIViewController 및 위해 만들기 다른 UIViewController에의 단지 수행

    [mainviewcontrl presentModalViewcontroller: child_viewcontrl animated: YES]; 
    

    의 경우는, 아이 뷰 컨트롤러를 삭제 당신은뿐만 아니라 다른 viewControllers에 shouldAutorotateToInterfaceOrientation을 설정해야

    [child_viewcontrl dismissModalViewControllerAnimated: YES]; 
    
    +0

    UINavigationController를 구현하기 전에 일반 UIViewController를 사용해 보았지만 위의 코드를 사용하면 자식 VC가 화면에 추가 된 것을 보지 못했습니다. 알아낼 수 없어서 전환했습니다. 그리고 나는 UINavigationController가 제공하는 변환을 좋아합니다. –