2016-05-13 5 views
1

ストーリーボードとの1つのマージを成功させることができなかったので、私はxibファイルに切り替えようとしています。私はあなたがストーリーボードで行うのと同じように、initialViewControllerとして1つのxibファイルを設定しようとしています。最初にストーリーボードでそのプロパティを無効にしました。 Googleからのいくつかの例に続いて、私はXIBファイルを返すことになっている拡張子を作りました:xibファイルをinitialViewControllerとして設定するにはどうすればよいですか?

extension UIViewController { 
    class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIViewController? { 
     return UINib(
      nibName: nibNamed, 
      bundle: bundle 
      ).instantiateWithOwner(nil, options: nil)[0] as? UIViewController 
    } 

をして、アプリデリゲートからそのクラスの関数を呼び出しなど、ルートビューコントローラとしてXIBファイルをロードしようこの:

class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // Override point for customization after application launch. 


     let mainView = UIViewController.loadFromNibNamed("MainView") 
     //window?.addSubview(mainView!) 
     self.window?.rootViewController = mainView 

     return true 
    } 

マイXIBファイル名が、私はそれにUIViewのとMainViewControllerを持って、MainView.xibで、MainViewControllerはViewControllerを継承し、それはまだ空です:

enter image description here

私はオールウェイズ同じエラーメッセージを取得しようとどのような

enter image description here

enter image description here

Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? 

答えて

2

あなたはまだMain.storyboardファイルを使用するように設定プロジェクトを持っています。プロジェクト/一般]タブでは、このセクションをクリアする必要があります。

enter image description here

あなたがこれを行う場合は、また、UIWindowを自分で作成している場合、これが作成されていないとして、アプリデリゲートのwindowプロパティを設定する必要があります。あなたはストーリーボードを使用しません。詳細については、How to create an Empty Application in Xcode 6 without Storyboardを参照してください。

+0

私はあなたが言ったように、私は一般的なタブのanythingsを変更していない答えを書く。私はちょうど主な 'didFinishLaunchingWithOptions'のコードを実行して、rootviewcontrollerを設定しました。なぜあなたは言ったようにメインインターフェースをクリアする必要があるのですか? –

+0

あなたの助けを借りてアプリを始めることができましたが、カスタム色のmainViewControllerから、白い色合いの色のテキストラベルとviewControllerを追加し、UIViewを削除したにもかかわらず、黒い画面が表示されます。 xibファイルとやりとりするのを手伝ってもらえますか? – user3033437

+0

これはストーリーボードを読み込むため、エントリーポイントがなければストーリーボードは無効です。メインインターフェイスの値を設定すると、ストーリーボードがロードされてから_before_ didFinishLaunchingWithOptionsが呼び出されます。 – jrturton

関連する問題