在表格页脚视图中放置一个按钮

时间:2011-07-14 19:27:17

标签: iphone ios cocoa-touch uitableview uibutton

我正在创建一个自定义按钮并将其放在我的桌面页脚视图中,但按钮正从右上角开始。

这里有什么问题!?!

这是我的代码和输出图像:

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [aButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [aButton setTitleColor:[UIColor colorWithWhite:0.0 alpha:0.56] forState:UIControlStateDisabled];
    [aButton setBackgroundImage:[[UIImage imageNamed:@"test.png"] stretchableImageWithLeftCapWidth:kButtonSliceWidth topCapHeight:0] forState:UIControlStateNormal];
    [aButton setTitle:@"Click me" forState:UIControlStateNormal];
    [aButton.titleLabel setFont:[UIFont boldSystemFontOfSize:kFontSize14]];
    [aButton setFrame:CGRectMake(10.0, 15.0, 300.0, 44.0)];
    [self.tableView setTableFooterView:aButton];

enter image description here

3 个答案:

答案 0 :(得分:15)

我在UIView中添加了按钮,然后将tableFooterView设置为此UIView对象并且它工作正常。我们不能直接将UIButton作为tableFooterView。

答案 1 :(得分:-1)

尝试这样做。设置IBOutlet UIView *footerView;并进行综合。使用方法 -

将其添加为子视图
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {

if(footerView == nil) {
    //allocate the view if it doesn't exist yet
    footerView  = [[UIView alloc] init];


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

    [button setFrame:CGRectMake(10, 3, 300, 44)];

    //set title, font size and font color
    [button setTitle:@"Click Me" forState:UIControlStateNormal];
    [button.titleLabel setFont:[UIFont boldSystemFontOfSize:18]];

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

    //add the button to the view
    [footerView addSubview:button];
}

//return the view for the footer
return footerView;
}

答案 2 :(得分:-3)

Legolas的一个重要补充:你需要实现tableView委托方法:

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    foot 50;
}

这让我疯了,因为按钮(或者,在我的情况下,按钮)没有响应触摸事件。添加委托方法使一切变得更好。 : - )