菜鸟教程小白 发表于 2022-12-12 11:56:35

ios - iPhone 6 的 UINavigationBar 背景图片


                                            <p><p>我正在尝试向 UINavigationBarController 的 NavigationBar 添加背景图像</p>

<pre><code> forBarMetrics:UIBarMetricsDefault];
</code></pre>

<p>在我的 Assets 中,我有一个</p>

<ul>
<li>NavBarBackground.png,</li>
<li>[email protected],</li>
<li>[email protected]</li>
</ul>

<p>Apple 文档中提到了解决方案:</p>

<ul>
<li>iPhone 5/5c/5s/6 @x2(视网膜)</li>
<li>iPhone 6+ @x3(视网膜高清)</li>
</ul>

<p>但是</p>

<ul>
<li>iPhone 5(&co) 的屏幕宽度为 640 像素</li>
<li>iPhone 6 的屏幕宽度为 750 像素</li>
</ul>

<p>如何处理 iPhone 6 外壳,而无需在我的 setBackgroundImage 方法中使用扩展名命名的另一个图像(仅适用于 iPhone 6)?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>问题是 iPhone 6/iPhone 6+ 上的导航栏与所有其他 iPhone 型号相比具有不同的纵横比。
所以在这种情况下,你需要一个不同的图像集。</p>

<p>但是,如果图片只是彩色背景,我建议使用以下代码:</p>

<pre><code>] forBarMetrics:UIBarMetricsDefaults
</code></pre>

<p>并实现以下方法:</p>

<pre><code>- (UIImage *)imageWithColor:(UIColor *)color{
    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, );
    CGContextFillRect(context, rect);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iPhone 6 的 UINavigationBar 背景图片,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26105366/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26105366/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iPhone 6 的 UINavigationBar 背景图片