如何刷新iOS中的页脚视图?

时间:2013-11-06 13:12:24

标签: ios ios7 uitableview

我创建了一个视图(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];
}

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

1 个答案:

答案 0 :(得分: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