0

私は、必要なすべてを実行するプロジェクトに近づいています。オプションを選択できる4つのボタンがあるメインページがあります。次に、これらのオプションからテーブルビュー ページが起動され、Web サイトからの解析済み XML フィードが表示されます。次に、テーブル内のオプションの 1 つを選択して、アイテムの詳細ビューを表示したり、アイテムについて問い合わせたりすることができます。

私の問題は、テーブルビュー自体以外の要素を TableViewController ページに追加する必要があることです。カスタマイズされた戻るボタン (ナビゲーション コントローラーの標準ではありません) と、いくつかのラベル、画像などが必要です。

TableViewController xib では、テーブルビュー自体がページを埋めます。その上にさらに要素を追加するためにサイズを変更することはできません。テーブルビューの上に見える「ビュー」ウィンドウを追加して、そこに物を入れることができます。しかし、ビューをテーブルビューに追加するようです。これは、テーブルをスクロールすると、新しい戻るボタンなどの他の要素がテーブルの一部としてスクロールされることを意味します。

したがって、このページを tableviewcontroller ではなく、その中に tableview を含む viewcontroller にする必要があるかどうか、およびボタンを含む他のビューなどにする必要があるかどうか疑問に思います。それは正しい方法ですか? しかし、その場合、コード内で tableviewcontroller をインスタンス化するにはどうすればよいでしょうか? 私のページはもはやそのタイプではないため、単なるビューコントローラーになります。しかし、コードでは、tableviewcontrollerを作成しています..そのルートtbhに少し怖がっています。

さまざまな検索が私を賢くしてくれなかったので、これに関するどんな照明も大歓迎です. ありがとう。

4

2 に答える 2

1

カスタマイズするには、次の方法があります。

  • 代わりに、クラスを View Controller に変更して、TableViewDelegate および TableViewData Source プロトコルを実装します。
  • コントローラーのビュー didLoad で、テーブル ビューを作成し、そのデリゲート、データ ソース、および必要なその他のプロパティを設定して、サブビューとしてビューに追加します。

    tableView = [[[UITableView alloc] init] autorelease];
    tableView.delegate = self;
    tableView.dataSource = self;
    // .. Other customization
    [self.view addSubview:tableView];
    

IB ではなくプログラムでこれを行うことをお勧めします。

于 2012-04-05T08:50:54.097 に答える
0

UITableViewController の代わりに、IBOutlet UITableView を持つ UIViewController が必要です。UITableView コンポーネントを Storyboard からドラッグ アンド ドロップしてフックし、必要に応じて画面に配置します。この UIViewController は、UITableViewDelegate および UITableViewDataSource メソッドを実装する必要があります。

編集: UITableViewController は UIViewController の単なるサブクラスであるため、すべてのコードを削除する必要はありません。:) 上で述べたように、ヘッダーとメイン ファイルを微調整し、ストーリーボードを UITableViewController ではなく UIViewController に変更するだけで済みます。

于 2012-04-05T08:48:00.760 に答える