0

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

- (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;
}

行的高度已成功设置,但有谁知道我如何在不丢失导航栏蓝色的情况下保持它们的设置?

4

1 回答 1

0

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

- (void)viewDidLoad{
    [super viewDidLoad];
    self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
    self.tableView.rowHeight = 60;
}
于 2013-10-20T06:21:45.247 回答