2

我正在尝试创建一个UITableView包含多个部分的内容。每个部分都有自己的页眉,但我正在尝试为整个表格视图制作一个通用页脚,该页脚保持在一个位置......

使用这些UITableViewDelegate方法可以实现这种逻辑吗?或者我应该创建一个自定义视图并尝试将其作为子视图添加到我的表格视图中?我目前拥有的页脚包含一个UIButton.

如果有人有一些示例代码,那就太好了。

编辑:这个问题与引用的问题不同。我正在尝试制作一个浮动在UITableView. 另一个问题没有指定页脚的位置,只是需要一个页脚。

4

2 回答 2

4

阅读 UITableView 的 tableFooterView 属性。

现在一些代码:(使用ARC)

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

现在在整个 tableview 的底部有一个带有一些文本的绿色 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 回答