设置表格的行高不会让我改变导航栏的颜色

时间:2013-10-20 01:39:04

标签: ios objective-c parse-platform

我有一个PFQueryTableViewController(由parse.com制作的表视图控制器,可以自动对他们的服务进行查询。我有以下initviewDidLoad方法可以完全正常工作:

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // This table displays items in the Todo class
        self.parseClassName = @"Todos"
        self.navigationItem.title = @"Todos";
    }
    return self;
}

- (void)viewDidLoad{
    [super viewDidLoad];
    self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
}

这完全正常,但是一旦我在init方法中设置行高,导航栏将不再设置为蓝色:

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        self.parseClassName = @"Todos";
        self.navigationItem.title = @"Todos";
        self.tableView.rowHeight = 60;
    }
    return self;
}

行的高度已成功设置,但有没有人知道如何设置它们而不会丢失导航栏的蓝色?

1 个答案:

答案 0 :(得分:0)

init方法中访问可能导致不可预测结果的视图是一种不好的做法。将tableView.rowHeight配置移至-viewDidLoad方法:

- (void)viewDidLoad{
    [super viewDidLoad];
    self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
    self.tableView.rowHeight = 60;
}