2014-10-09 5 views
1

Я создаю приложение iOS 8. У меня две раскадровки для iPhone и iPad. iPad.storyboard установлен как основной интерфейс. Моя проблема в том, что каждый раз, когда я запускаю iPhone-устройство, iPad.storyboard все еще вызывается.iOS 8 Раскадровка/Основной интерфейс

Есть ли способ автоматически определить раскадровку для определенного устройства?

+0

http://stackoverflow.com/questions/21306597/ios-logic-to-detect-ipad-iphone-device-for-storyboard – ytbryan

+0

Я использую Swift. Поток, который вы указали для iOS 7. Спасибо. – user3300758

+0

Я вижу. http://stackoverflow.com/a/26269486/388280 – ytbryan

ответ

0
//If you are looking for a swift solution 
    if(UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad) { 
     //iPad 
     var iPadBoard: UIStoryboard! 
     iPadBoard = UIStoryboard(name: "iPad", bundle: nil) 
     let viewcontroller : UIViewController = iPadBoard.instantiateViewControllerWithIdentifier("iPad") as UIViewController 
     self.window!.rootViewController = viewcontroller 
    } 
    else { 
     //iPhone 
     var iPhoneBoard: UIStoryboard! 
     iPhoneBoard = UIStoryboard(name: "iPhone", bundle: nil) 
     let viewcontroller : UIViewController = iPhoneBoard.instantiateViewControllerWithIdentifier("iPhone5") as UIViewController 
     self.window!.rootViewController = viewcontroller 
    } 
+0

Но, моя забота о том, что даже я бегу на iPhone, дизайн, который называется, - это iPad.storyboard, а не iPhone.storyboard. Чтобы это стало ясно, существует ли способ программно настроить главный интерфейс? Благодарю. – user3300758

+0

, то вы можете загрузить различные раскадровки. см. выше. – ytbryan

0

Чтобы получить IOS автоматически выбрать для вас, имя раскадровки с ~ iphone и ~ IPad в конце

Например (после названия и перед расширением.):
главный ~ iphone.storyboard main ~ ipad.storyboard

Обратите внимание, что «iphone» и «ipad» должны быть в нижнем регистре. Если вы назовете их смешанным случаем, они будут работать на симуляторе, но не на устройстве, потому что форматирование по умолчанию Mac не зависит от регистра, но формат iOS чувствителен к регистру.

+0

Я попытался переименовать свои раскадровки в основную ~ iphone.storyboard и главную ~ ipad.storyboard, но ничего не происходит. – user3300758