2

UITableView複数のセクションでを作成しようとしています。各セクションには独自のヘッダーがありますが、1 つの位置にとどまるテーブル ビュー全体のユニバーサル フッターを作成しようとしています...

UITableViewDelegateメソッドを使用してこのロジックは可能ですか? または、カスタム ビューを作成して、それをサブビューとしてテーブル ビューに追加する必要がありますか? 現在持っているフッターにはUIButton.

誰かが素晴らしいサンプルコードを持っていれば。

編集:この質問は、参照されているものと同じではありません。の上に浮かぶユニバーサルフッターを作ろうとしていUITableViewます。もう 1 つの質問では、フッターの場所は指定されていません。フッターが必要であるということだけです。

4

2 に答える 2

4

UITableViewのtableFooterViewプロパティについてお読みください。

そして今、いくつかのコード:( ARCを使用)

UILabel *footer = [UILabel alloc] init];
footer.text = @"Some text" ;
footer.backgroundColor = [UIColor greenColor];
self.tableView.tableFooterView = footer;

これで、テーブルビュー全体の下部に、緑色でテキストが表示されたUILabelがあります。

于 2013-02-26T14:14:12.657 に答える
1

最終的にサブビューを作成し、そのビューにボタンを追加しました。次に、そのビューを「フッター」にしました。

これが私に望ましい結果をもたらしたコードです。

- (void)viewDidLoad
{

[super viewDidLoad];

//self.tableView.delegate = self;
//self.tableView.dataSource = self;

//save current tableview, then replace view with a regular uiview
self.tableView = (UITableView*)self.view;
UIView *replacementView = [[UIView alloc] initWithFrame:self.tableView.frame];
self.view = replacementView;
[self.view addSubview:self.tableView];

UIView *footerView  = [[UIView alloc] initWithFrame:CGRectMake(0, 370, 320, 45)];

//create the button
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//button.userInteractionEnabled = YES;

//the button should be as big as a table view cell
//width of the button can be set but the width of the view it is added to will always match the width of the tableView
[button setFrame:CGRectMake(60, 0, 200, 45)]; 

//set title, font size and font color
[button setTitle:@"Build" forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont boldSystemFontOfSize:20]];   
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

//set action of the button
[button addTarget:self action:@selector(buildThenSegue)
 forControlEvents:UIControlEventTouchUpInside];

//add the button to the view
[footerView addSubview:button];
footerView.userInteractionEnabled = YES;

[self.view addSubview:footerView];
self.tableView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

}

これは のサブクラスであることに注意してくださいUITableViewController

この回答を別の質問に参照しました: https://stackoverflow.com/a/9084267/1091868

于 2013-02-28T07:46:13.223 に答える