0

如何在 viewForHeaderInSection 顶部添加按钮。我喜欢在部分标题上方添加一个按钮,该按钮可以使用 tableview 滚动。知道怎么做吗?

4

3 回答 3

1

我在pull-to-refresh实现中看到的 - 相当老套的 - 解决方案是简单地将您的“额外”视图作为子视图添加到表视图中 - 只需确保使用负 y 偏移对其进行定位。该偏移量应该等于(好吧,而不是-1倍)您的视图高度。代码:

UIView *myViewAboveHeader = // however you create it
CGRect f = myViewAboveHeader.frame;
f.origin.y = -1 * f.size.height;
myViewAboveHeader.frame = f;
[tableView addSubview:myViewAboveHeader];

编辑:看来你不想要一个标题视图和它上面的视图。在这种情况下,只需在表视图委托方法中返回的视图顶部添加一个按钮:

- (UIView *)tableView:(UITableView *)tv viewForHeaderInSection:(NSInteger)s
{
    UIView *header = ...;
    UIButton *btn = // create a button somehow;
    [header addSubview:btn];
    return header;
}
于 2012-08-22T18:47:33.447 回答
1

使用此代码,将其放置在viewdidload

- (void)viewDidLoad {
    UIView *headerViews = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 90)];

    UIButton *managePrivacyButton = [UIButton buttonWithType:UIButtonTypeCustom];

    [managePrivacyButton setFrame:CGRectMake(0, 45, 320, 45)];
    managePrivacyButton.titleLabel.textAlignment = UITextAlignmentLeft;
    [managePrivacyButton.titleLabel setFont:[UIFont boldSystemFontOfSize:12]];
    [managePrivacyButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

    [headerViews addSubview:managePrivacyButton];
    [self.tableView setTableHeaderView:headerViews];
    [super viewDidLoad];
}
于 2012-08-22T18:47:51.740 回答
0

这个方法特别需要返回一个 UIView。UIButton 是 UIView 的子类。只需创建一个新的 UIButton 并返回它。

于 2012-08-22T18:44:05.063 回答