菜鸟教程小白 发表于 2022-12-11 18:47:15

ios - 如何在导航栏中设置 backBarButtonItem 标题的样式?


                                            <p><p>我希望能够仅更改导航栏中后退按钮的文本颜色。</p>

<p>作为一种解决方法,我可以通过创建自定义 View 并将其分配给 <code>navigationItem.leftBarButtonItem</code> 来做我想做的事情,但它看起来不太好,我也失去了滑动弹出能力。
<a href="/image/4Ha77.png" rel="noreferrer noopener nofollow"><img src="/image/4Ha77.png" alt="enter image description here"/></a> </p>

<p>以上代码:</p>

<pre><code>let button = UIButton(type: .system)
    let originalImage = #imageLiteral(resourceName: &#34;BackButton&#34;)
    let scaledImage: UIImage = UIImage(cgImage: originalImage.cgImage!, scale: 30, orientation: originalImage.imageOrientation)

    button.setImage(scaledImage, for: .normal)
    button.setTitle(&#34;YourTitle&#34;, for: .normal)
    button.sizeToFit()
    button.setTitleColor(.brown, for: .normal)
    button.tintColor = .blue

    navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
</code></pre>

<p>我还看到一些建议,例如通过 </p> 设置后退按钮的属性

<pre><code>navigationController?.navigationBar.topItem.backBarButtonItem?.setTitleTextAttributes(, for: .normal)
</code></pre>

<p>但这似乎对文本的外观没有任何影响,尽管</p>

<pre><code>print(&#34;Attributes: &#34;, navigationController?.navigationBar.topItem?.backBarButtonItem?.titleTextAttributes(for: .normal) ?? &#34;No attributes&#34;)
</code></pre>

<p>导致<code>属性:["NSColor": UIExtendedSRGBColorSpace 1 0 0 1]</code>.</p>

<p>我可以设置 <code>tintColor</code> 但这会改变除了标题之外的后退图标的颜色。</p>

<p>那么做我想做的最好的方法是什么?有什么办法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我不确定我是否理解正确。但试试下面的代码。这将适用于您应用的所有栏按钮项。将此代码放置在应用程序生命周期内仅调用一次的位置。像 <code>application:didFinishLaunchingWithOptions:</code></p>

<pre><code>let attribs =
UIBarButtonItem.appearance().setTitleTextAttributes(attribs, for: .normal)
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在导航栏中设置 backBarButtonItem 标题的样式?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/46431592/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/46431592/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在导航栏中设置 backBarButtonItem 标题的样式?