【发布时间】:2013-02-02 11:20:08
【问题描述】:
在UITableView 中,我使用按钮配置self.navigationItem.leftBarButtonItem。现在我想重新加载此按钮以更新此按钮上的文本,但它位于 Navigation bar 上。我可以通过
UITableView
[self.tableView reloadData]
但是如何更新导航栏?
更新:我不是初始化按钮的标题,而是重新加载它。所以任何初始化代码(如self.navigationItem.leftBarButtonItem.title = @"balabala")都不起作用,因为它不会立即生效。
【问题讨论】:
-
你能发布更多关于你已经尝试过的代码吗?是从主线程调用的吗?
-
我有类似的问题,点击刷新按钮后,我想在导航项中设置标题,包括上次更新时间戳。我曾尝试在主线程上调用
[titleView setNeedsDisplay];,但标题不会更新几秒钟或直到执行任何segue,而[self.tableView reloadData]重新加载就好了。 -
嗨 dev-null,self 是导航控制器当前显示的 UIViewController 吗?如果是这样,您应该能够(如某些答案中所述)使用
self.navigationItem.title = @"New TITLE!";更改标题如果这不起作用,可能会有一些解释(例如self不是navigationController 当前显示的那个)这是容器 -
self是我的 UiTableViewController,嵌入在导航控制器中。当我从其他控制器(prepareForSegue)更改标题时,目标视图显示正确的标题,但是当当前显示的视图控制器尝试更改标题时,它需要几秒钟才能在导航栏中显示新值。
标签: ios uitableview uinavigationbar uibarbuttonitem