表页脚视图按钮

时间:2009-12-08 11:51:35

标签: ios objective-c iphone button footer

我有一些注册表单,其中包含电子邮件和登录文本字段作为表格单元格,注册按钮作为页脚视图中的按钮。 这一切都很棒,这里是代码

frame = CGRectMake(boundsX+85, 100, 150, 60);
    UIButton *signInButton = [[UIButton alloc] initWithFrame:frame];
    [signInButton setImage:[UIImage imageNamed:@"button_signin.png"] forState:UIControlStateNormal];
    [signInButton addTarget:self action:@selector(LoginAction) forControlEvents:UIControlEventTouchUpInside];

    self.navigationItem.hidesBackButton = TRUE;
    self.tableView.tableFooterView.userInteractionEnabled = YES;
    self.tableView.tableFooterView = signInButton;
    self.view.backgroundColor = [UIColor blackColor];

我的问题是如何在此旁边添加另一个按钮。

通过使用[self.tableView.tableFooterView addSubview:...]按钮没有显示,如果我使用其他一些UIView,在那里放置按钮,然后说footerView是UIView,我看到按钮,但我无法按下它们。

我希望这不会太令人困惑,而且你理解我的问题。

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

你的第一次尝试是错误的,如果你正如你所说,你试图在按钮的子视图中添加一个按钮:

首先你

... 
self.tableView.tableFooterView = signInButton;
...

然后再

... 
[self.tableView.tableFooterView addSubview:...]
...

但是tableFooterView是signInButton。所以这就是为什么不起作用。

你的第二次尝试是正确的,yonanderson的答案指出你应该解决这个问题并且这是正确的方法,你只需要:

[yourButtonsView addSubView:button1];
[yourButtonsView addSubView:button2];
yourButtonsView.userInteractionEnabled = YES;
self.tableView.tableFooterView = yourButtonsView;
self.tableView.tableFooterView.userInteractionEnabled = YES;

答案 2 :(得分:0)

嗯,在回答之前,我没有仔细阅读。我认为你需要设置容器UIView的userInteractionEnabled属性然后尝试,将footerView设置为带有子视图的容器。

答案 3 :(得分:0)

我花了很长时间才弄清楚为什么我的页脚按钮没有调用指定的动作。最后我发现我需要调整页脚的高度。这为我解决了这个问题:

-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return footerView.bounds.size.height;
}