OGeek|极客世界-中国程序员成长平台

标题: ios - UIBarButtonItem 没有更新 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:58
标题: ios - UIBarButtonItem 没有更新

我有一个从服务器获取数据的异步例程。当点击导航中的刷新按钮时,我将其替换为 UIActivityIndi​​catorView,该部分工作正常。获取数据的对象有一个协议(protocol),当它完成检索数据时通知它的委托(delegate)。当委托(delegate)(UITableViewController 子类)接收到该方法时,我用新数据重新加载表格 View ,并为 rightBarButtonItem 分配一个新的刷新按钮。但是,当我这样做时, UIBarButtonItem 不会改变。当我在分配之前调用 reloadData 方法和之后调用它时,都会发生这种情况。我不明白为什么根本没有发生这种变化。这是我正在使用的两个方法调用。

这行得通:

UIActivityIndicatorView *indicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicatorView.color = [UIColor orangeColor];
[indicatorView startAnimating]; 
[self.navigationItem.rightBarButtonItem initWithCustomView:indicatorView];

这是行不通的:

self.navigationItem.rightBarButtonItem initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self actionselector(refreshOrderList];

我是否应该以不同的方式更改这些 barButtonItem



Best Answer-推荐答案


self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self actionselector(refreshOrderList];

你不能初始化一个已经初始化的对象并期望它正常工作。创建一个新的条形按钮项并将其设置为 rightBarButtonItem

关于ios - UIBarButtonItem 没有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064994/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4