1

我创建了一个视图(xib)作为我的页脚。

我已将 xib 的文件所有者分配给FTHeaderFooterViewController.

我已经定义了一个指向total我的标签的指针,它footerView指向我的实际页脚视图。

    @interface FTHeaderFooterViewController : UITableViewController
    {
        IBOutlet UIView *footerView;

        __weak IBOutlet UILabel *total;
    }
    - (UIView *)footerView;

@implementation FTHeaderFooterViewController

-(UIView *)footerView
{
    if (!footerView) {
        [[NSBundle mainBundle] loadNibNamed:@"FTFooterView" owner:self options:nil];
    }
    return footerView;
}

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

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    return [self footerView];
}

页脚显示的一切正常。

但是,当我更改标签的值时:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self drawFooter];
    [[self tableView] reloadData];
}

- (void)drawFooter
{
    NSString *totalStr = @"test";
    [total setText:totalStr];
}

标签不会刷新。我错过了什么?

4

1 回答 1

2

2件事:

1.加载xib文件时忘记分配footerview变量

-(UIView *)footerView
{
    if (!footerView) {
        footerView = [[NSBundle mainBundle] loadNibNamed:@"FTFooterView" owner:self options:nil];
    }
    return footerView;
}

2. 您的 footerview 方法覆盖来自 footerview IBOutlet 属性的默认 getter

-(UIView *)footerView 
于 2013-11-06T13:44:43.230 回答