在UItableview中调整页脚大小

时间:2012-05-11 13:37:00

标签: iphone ios uitableview table-footer

我添加以下代码以添加带有按钮的页脚来执行操作。我无法将按钮重新调整为单元格的大小。 CGRectMake(0,0,300,44)值的变化不会影响页脚的变化,任何人都可以帮助我。我正在使用一个有更多会话的表。我不希望每个会话都有一个页脚,而我需要在表的末尾,所以我插入了以下代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath   
*)indexPath 
{
//...
footerView  = [[UIView alloc] init];

UIButton* Logoutbutton = [UIButton buttonWithType:UIButtonTypeCustom];

[Logoutbutton setTitle:@"Logout" forState:UIControlStateNormal];

NSLog(@"cell width : %d",cell.contentView.frame.size.width);
[Logoutbutton setFrame:CGRectMake(0, 0, 300,44)];
[Logoutbutton setBackgroundImage:[UIImage imageNamed:@"LogoutBgImage.png"] 
forState:UIControlStateNormal];
[Logoutbutton setBackgroundColor:[UIColor clearColor]]; 

[Logoutbutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
[Logoutbutton addTarget:self action:@selector(LogoutbuttonPressed:) 
forControlEvents:UIControlEventTouchUpInside];

Settingstable.tableFooterView = Logoutbutton;

return cell;
}

- (void)LogoutbuttonPressed: (UIButton*) button
{
 //some action
}

任何人都可以帮我解决这个问题吗

3 个答案:

答案 0 :(得分:2)

您不需要向uitableview添加按钮,而是将其添加到tableview的页脚,您必须将视图传递给tableview的委托方法: -

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

您可以阅读此tutorial,因为它与您的要求相同。enter image description here

答案 1 :(得分:0)

以这种方式用于tableview的页脚

self.tableView.tableFooterView = myCustomFooterView

并且对于整个表的页脚视图,请使用

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

并在此处详细了解

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

如果你只想要一个单元格的页脚,那么实现一个自定义单元格,并使用layoutsubviews来更改单元格设置,自定义单元格使用此链接

http://www.e-string.com/content/custom-uitableviewcells-interface-builder

http://www.galloway.me.uk/tutorials/custom-uitableviewcell/

http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html

答案 2 :(得分:0)

要提供页脚视图高度,请使用此委托方法:

(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section