菜鸟教程小白 发表于 2022-12-12 10:58:19

ios - UIBarButtonItem 没有更新


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

<p>这行得通:</p>

<pre><code>UIActivityIndicatorView *indicatorView = [ initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicatorView.color = ;
;
;
</code></pre>

<p>这是行不通的:</p>

<pre><code>self.navigationItem.rightBarButtonItem initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshOrderList:)];
</code></pre>

<p>我是否应该以不同的方式更改这些 <code>barButtonItem</code>?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><pre><code>self.navigationItem.rightBarButtonItem = [ initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshOrderList:)];
</code></pre>

<p>你不能初始化一个已经初始化的对象并期望它正常工作。创建一个新的条形按钮项并将其设置为 <code>rightBarButtonItem</code>。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIBarButtonItem 没有更新,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25064994/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25064994/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIBarButtonItem 没有更新