2

我有一个分段的 UITableView 并想设置一个标签(不在 tableview 中)顶部标签的文本。

我尝试使用[label setText:@"name"];in设置标签

 (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 

但这没有用。其他人有想法如何做到这一点?

4

3 回答 3

5

尝试这个

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 60)];
    headerView.backgroundColor = [UIColor clearColor];

    UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake(0,0, 50, 50)];
    label.backgroundColor = [UIColor yellowColor];
    label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;

    [headerView addSubview:label];
    return headerView;
}
于 2013-01-23T15:09:50.167 回答
2
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    self.tableView1.tag = 1;
    if ( [tableView tag] == 1 ) {
        return @"TableView One Title";   
    }
    return @"other Tableview Title";        
}
于 2014-05-08T02:01:40.963 回答
2

如果您使用该方法,则只需要返回字符串。它将为您处理创建标签。

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return @"Name";
}

如果您想使用自己的UIView,或者UILabel您需要使用不同的dataSource方法。

- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UILabel *customLabel = [[UILabel alloc] initWithFrame:CGRect(0.0,0.0,100.0,20.0)];
    [customLabel setText:@"name"];

    return customLabel;
}
于 2013-01-23T15:09:16.977 回答