1

テーブルビューの上部に「フローティング」ヘッダーが必要なTableViewControllerがあり、コンテンツとともにスクロールしてはなりません。

UITableViewController を使用してこれを実現する方法はありますか (プレーン内に入れ子になった Tableview を使用してこれを実行できることはわかっUIViewControllerていますがUITableViewController、メインの ViewController として使用したいので、Storyboard TableView-Goodies の利点を利用できます。

4

2 に答える 2

1

またはそのサブクラスでニブをUITableViewController作成し、テーブルビューを再配置して、ヘッダービュー用のスペースを空けます。わずかに異なるレイアウトとより多くのビューを備えたテーブル ビュー コントローラーは、依然としてテーブル ビュー コントローラーです。

于 2012-08-22T07:46:20.113 に答える
-2

ハックと見なされるかもしれませんが、これでうまくいくようです! (デフォルトのマスター/ディテール プロジェクト テンプレートでテスト済み)

まず、MasterViewController のタイプを に変更しUIViewController、デリゲートとデータソースのプロトコル参照を追加します。また、 を追加しIBOutletますUITableView

@interface MasterViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

@property (weak, nonatomic) IBOutlet UITableView *tableView;

@end

次に、それIBOutletUITableViewストーリーボード エディターの に接続します。

次のコードを に追加しますviewDidLoad

UIView *mainView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UILabel *header = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
header.text = @"HEADER";
header.backgroundColor = [UIColor greenColor];
[mainView addSubview:header];
self.tableView.frame = CGRectMake(0, 40, 320, 440);
[mainView addSubview:self.tableView];
self.view = mainView;
于 2012-08-22T12:27:11.617 に答える