2010-08-21 2 views
1

다음과 같은 문제가 있습니다. iPhone 응용 프로그램을 가지고 있고 유니버설로 업그레이드하려고합니다. 이렇게하면 예상되는 MainWindow-iPad.xib가 표시됩니다. 그러나 창의 크기는 320x480으로 하드 코드됩니다. 또한 창에는보기가 없습니다. 빨간색입니다.이 크기는 자동으로 iPad 크기 여야합니다. 그래서 내가 잘못하고 있다고 가정합니다. 정확히 무엇이 누락 되었습니까? 미리 감사드립니다.범용 앱으로 업그레이드 - 주 윈도우 크기 - iPad의 크기는 320x480입니다.

답변

1

예, UIWindow 개체의 크기는 iPhone 화면 크기로 하드 코딩되어 있습니다. 이것은 크기를 조정할 수있는 옵션이 있다는 것을 깨닫기 전까지 혼란 스럽습니다. Interface Builder의 .xib에있는 UIWindow 오브젝트를 선택하십시오. Attributes 창에서 "Full Screen at Launch"체크 박스가 선택되어 있는지 확인하십시오.

St3fan은 iPad 빌드를위한 특정 기본 창 .xib가 필요할 것이라고 말합니다. 나는이있어

UITabBar unresponsive on iPad

+0

지금은 혼란 스럽네요 :-) 이 MainWindow-iPad.xib 있습니다. 실행시 전체 화면이 활성화되어 있지만 여전히 320x480입니다. 하위 뷰를 추가하면 더 커질 수 있습니다. 맞습니까? btw : MainWindow-iPad.xib에는 원래의 viewcontroller도 있습니다. 따라서 iPad 에뮬레이터를 실행하면 iPad 시뮬레이터의 왼쪽 상단에 기본적으로 iPhone 버전이 표시됩니다. (적어도 아직 완전히 기능을합니다 :-) 미안 점을 잊어 버리면 :-) – HeikoG

+0

저에게 맞는 작품입니다! – Sudhanshu

0

MainWindow-iphone.xibMainWindow-ipad.xib을 작성해야 할 수도 있습니다.

+0

hmm. 승인. xcode가 나를 위해 MainWindow-iPad.xib를 만들었지? 그리고 원래의 mainWindow.xib가 있습니다. 지금까지 괜찮 았나? – HeikoG

1

:

은 내 대답을 참조하십시오. 필자는 자동으로 생성 된 ipad xib를 삭제 한 다음 인터페이스 빌더에서 원래 xib를 열고 메뉴에서 iPad로 변환을 선택하여 수정했습니다. 그런 다음 NI가 -iPad 이름으로 저장하고이를 corredt 대상에 추가했습니다.

+0

이봐, 그랬어 - 고마워. 하지만 한 가지 더> 이 MainWindow/iPad.xib가 있고 mz plist에는 이름으로 설정된 기본 nib 파일 기본 이름 iPad가 있습니다. 하지만 iPad 에뮬레이터에서 실행하면 아이폰 버전이 왼쪽 위 모서리에로드되는 것 같습니다. – HeikoG

+0

좋습니다.IB로 ViewController의 iPad 버전을 생성 한 다음 클래스를 저장하고 펜촉을 저장 한 다음 처음부터 MainWindow-iPad.xib의 펜촉 내용을 작성합니다. 모든 도움에 감사드립니다. :-) – HeikoG

0

나는 모든 샘플과 비슷한 방식으로 EAGLView를 사용하지만 iphone3, iphone4 및 ipad를 지원하려는 GLES 응용 프로그램과 비슷한 문제가있었습니다.

[EAGLView initWithCoder]에서 내 컨텍스트 생성시 아이폰과 iphone4 (즉, 320x480 또는 640x960 gl 표면 제공)에서 작동하는 기본 화면과 일치하도록 eaglLayer의 rect를 강제했지만 ipad의 경우 640x960으로 자른 768x1024 표면. "시작시 전체 화면"옵션은보기의 (EAGLView, 내 경우에는) initWithCoder 후에 적용된 것 같습니다.

내 솔루션은 [EAGLView initWithCoder]에서 아무 것도하지 않고, 실제로 AppDelegate의 didFinishLaunchingWithOptions가 호출 된 후에 내보기를 초기화하는 것으로, layoutSubviews 호출에서 발생했습니다.

포크

관련 문제