2012-01-21 10 views
1

私は、uiviewcontrollerの2つのアプローチについて、uiviewcontrollerリンゴガイドを研究していました。アプローチの1つは、uiviewcontrollerをnibファイルに保存するためにviewcontrollerオブジェクトをドラッグして保存することを許可しています...しかし、ドラッグすると、新しいUIVCクラスが作成され、nibファイルにドロップされたオブジェクトを参照する必要があります。uiviewcontroller in nibファイル

これは、通常、UIVCクラスを作成し、nibファイル所有者に割り当てることです。

これは私を助けてください混乱しています。

私は初心者ですが、この質問で見つけた場合は、事前に感謝し、愚かな間違いを無視してください。

答えて

3

ここでは、ビューコントローラをペン先に配置する方法の例を示します。

  1. 空のペン先(XIB)から始めます。

  2. ファイルの所有者プレースホルダをペン先で選択します。アイデンティティ・インスペクタで、File's Ownerのクラスをアプリケーションの委譲クラス(おそらくAppDelegateなど)に設定します。

  3. UIWindowをペン先にドラッグアンドドロップします。 File's Ownerのwindowコンセントをこのウィンドウオブジェクトに接続します。

  4. UIViewControllerサブクラスを作成します。それをHazelViewControllerとしましょう。

  5. UIViewControllerをnibファイルにドラッグアンドドロップします。 IDインスペクタで、このオブジェクトのカスタムクラスをHazelViewControllerに設定します。

  6. ウィンドウオブジェクトのrootViewControllerコンセントをHazelViewControllerオブジェクトに接続します。

  7. UIViewをペン先のウィンドウオブジェクトにドラッグアンドドロップします。 HazelViewControllerviewコンセントをこのビューに接続します。

  8. このビューに他のユーザーインターフェイスオブジェクトをドロップします。必要に応じて、HazelViewControllerオブジェクトのアウトレットまたはアクションに接続します。 AppDelegateapplication:didFinishLaunchingWithOptions:方法で

  9. 、ファイルの所有者としてAppDelegateオブジェクトを使用して、ペン先を読み込む:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)options { 
        [[NSBundle mainBundle] loadNibNamed:@"myNib" owner:self options:nil]; 
        [self.window makeKeyAndVisible]; 
        return YES; 
    } 
    
+0

おかげでたくさんのこの美しい答えを –

+1

ステップ3に「IBOutlet」を追加する必要がAppDelegate.hのウィンドウプリパティ宣言。それ以外の場合、FileOwnerアウトレットのリストには表示されません。 –

+0

別の発言:UIViewControllerとUIViewを一切持たないウィンドウが表示されます(ステップ4-8) –

関連する問題