2011-08-10 2 views
3

나는 각각의 전망 FirstView.xibSecondView.xibFirstViewControllerSecondViewController와 아이폰 응용 프로그램을 가지고있다.iPhone 앱을 Universal 앱으로 변환 하시겠습니까?

이제이 앱을 iPhone과 iPad에서 모두 사용하고 싶습니다. 아이 패드를 들어 나는 하나의 ThirdView-iPad.xibFirstview.xibSecondView.xib을 병합해야합니다.

최상의 접근 방법은 무엇입니까? iPad 용으로 다른 ViewController 클래스를 작성해야합니까? 아니면 기존에 사용할 수 있습니까? FirstViewControllerSecondViewController과 단일 xib는 사용할 수 있습니까?

내 연구는 지금까지 단일 xib로 여러 ViewController를 사용할 방법이 없다고 말합니다. 이 작업을 수행하는 가장 좋은 방법을 알려주십시오.

감사

답변

3

당신은 마조히즘에 아니라면 단지 새의 ViewController를 만들려면의 가장 좋은 것입니다. 그렇게 재사용하면 문제가 많을 것이고, ViewController에서 로직을 재사용해야 할 경우 집계 또는 상속을 사용할 것입니다.

저는 일반적으로 기본 ViewController를 만듭니다 (예 : XYZViewController). 모든 iPhone 스페셜과 을 만들고 iPad 용으로는 XYZViewController_iPad을 만듭니다. 그러나 완전히 다른 경우 고유 한 이름과 고유 한 NIB 및 ViewControllers를 제공합니다. 당신이 Xcode4를 사용하는 경우

5

당신은 "보편적 인 목표 전환"을 사용할 수 있습니다 그리고 당신은 내가 당신의 XIB에서 컨트롤러를 유지하는 것이 좋습니다 다음이 해달라고하면 모든

http://xcodebook.com/2011/05/making-an-ios-target-universal/

을 필요로 할 것입니다. xib 파일은 iphone 및 ipad에 대한보기 만 포함하지만 제어기는 "동일"할 수 있습니다. 그리고 당신은 rootviewcontroller에서 당신의 논리를 제어 할 수 있습니다, 단지 아이디어입니다. 모두 당신의 프로젝트에 달려 있습니다.

+0

감사합니다 ... 내 문제는 내가 한 아이 패드보기에이 아이폰의 전망을 병합해야한다는 것입니다. 이 경우 동일한 컨트롤러를 사용할 수 있습니까? 그렇다면 어떻게? – Atif

+0

@Atif는 뷰가 완전히 다를 것이므로 다른 컨트롤러를 사용할 수 있음을 의미합니다. 먼저 보편적 인 프로젝트를 작성하고 앱을 배포하려고 시도하면 가능한 가능성과 개선해야 할 점이 나타납니다. 당신은 여전히 ​​"보편적 인 타겟으로의 전환"을 사용할 수 있습니다. – Spring

1

PLIST 파일에서 Univarsal 앱

1)에 아이폰 응용 프로그램을 변환하려면 다음과 같은 규칙이 NSMainNibFile ~ ipad에 .... MainWindow_ipad (아이 패드 창)를 추가합니다.

2) 예를 들어 Ipad에 & 아이폰 에있어서 (아이폰 /시오) 설정 대상 타겟 디바이스 제품군 이름 구분 Xibs (아이폰 &시오)

3)를 구현하고, 프레임 세트

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

btnHme.프레임 = CGRectMake (971, 6, 32, 32); // 다른 시오

} {

btnHme.frame = CGRectMake (438,6, 32, 32); // 아이폰

}

환호

관련 문제