2012-01-22 6 views
3

UISplitViewControllerのMas​​terViewControllerセクションにあるUITableViewを置き換えようとしています。 UITableViewの代わりに、私はUIButtonsUILablesなどを入れることができるように、ただの表示が欲しいです。これらのボタンは、SplitViewのDetailViewセクションに表示される内容を制御します。SplitViewController内のTableViewを置き換えます

私はこの質問に別の場所を1つ質問し、誰かがUISplitViewControllerのサブクラスを作成するよう提案しました。この人は、DetailViewController.h、.m、および.xibを保持し、MasterViewController.h、.m、および.xibを好きなように編集する以外に、多くの方向性を与えませんでした。新しいプロジェクトを作成したので、私はXIBファイルで得ることができる「マスター・ディテールアプリケーション」

  • 未確認の「使用ストーリーボード」を選択し

    • :ここ

      は、私が行った手順をされています。
    • "MasterViewController.xib"
    • 変更 "@interfaceのMasterViewController:のUITableViewController" を "オブジェクト" に "オブジェクト"
    • を追加しました "ビュー・コントローラ" の下に "テーブルビュー" を削除したオープン「@interface MasterViewControllerへ:UIViewController "in" MasterViewController.h "
    • " MasterViewController.m "の下のものは、TableViewのプロパティを参照していたため問題を引き起こしていました。

    は、その後、私はこのエラーを取得: - 。[UIViewController _loadViewFromNibNamed:bundle:]は「MasterViewController」ペン先が、ビューのコンセントが設定されていませんでしたロード」

    私は正しい軌道にアム私は場合は、誰かが私を助けることができます?エラーは私が取得しています?

    そうでなければ、私はこの間違ったつもりであれば、誰かが正しい方向に私を指すことができる?

    ありがとう!

  • +1

    UIViewControllerの代わりにUIViewをObjectsに追加し、ファイルオーナーのビューアウトレットをそのUIViewに接続してみてください。 – Anna

    +0

    これはうまくいった!私は非常に速い解決策を期待していませんでした。ありがとう! – Jake

    答えて

    5

    今、中にストーリーボードで最新のXcodeは、ここに

    1. は、新しい主従プロジェクトを作成し、
    2. ストーリーボード
    3. オープンMainStoryboard_iPad.storyboardを許可]をクリックしTableViewControllerにし、その後に
    4. ドラッグを、それを削除...私がやっていることです新しいプレーンViewController
    5. マスターView Controllerであるナビゲーションコントローラから新しいViewControllerにCtrl +クリックしながらドラッグします。
    6. MasterViewController.h/.mファイルを削除して新しいclを作成しますUIViewController
    7. のサブクラス
    8. あるお尻があなたの作成した交換用のクラスの名前を取り、

    今、あなたのアイデンティティインスペクタのカスタムクラスのセクションのクラス名に置き、ボタンやワイヤーアップ方法を追加あなたはしたい。ディテール部分に単一のView Controllerを置いておくと、単にdetailViewControllerを直接参照して、必要に応じて塗りつぶすことができます。複数の場合は、おそらくreplace seguesを使うことができます。

    iPhoneの場合、手順は似ています。 navコントローラから新しいViewControllerにctrl-クリックしてドラッグし、同じ方法で置換ViewController.h/.mファイルを設定する必要があります。あなたのボタンからのセグはpush seguesになります。単にperformSegueWithIdentifier:sender:を呼び出すこともできます。

    関連する問題