菜鸟教程小白 发表于 2022-12-12 23:10:22

ios - 将导航栏的背景图像恢复为默认值


                                            <p><p>首先,我将导航栏的背景设置为半透明。</p>

<pre><code>    barImage=[ copy];//barImage is a UIImage point   
   
                           forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = ;
</code></pre>

<p>效果很好。
现在我需要将导航栏的背景图像恢复为默认值。 </p>

<pre><code>- (void)dealloc
{

    [self.navigationController.navigationBar setBackgroundImage:barImage
                                                forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = nil;

}
</code></pre>

<p>这不起作用。我该怎么办?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>不确定您是否仍然坚持这一点,但这里是反转效果的代码。我借了一个导航 Controller ,并将所有内容复制到原来的导航 Controller 中。</p>

<pre><code>    UINavigationController *tempNavigationController = [initWithRootViewController:[init]];
   
                                                forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = ;
    self.navigationController.navigationBar.translucent = YES;
    self.navigationController.view.backgroundColor = tempNavigationController.view.backgroundColor;

    tempNavigationController = nil;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 将导航栏的背景图像恢复为默认值,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24298375/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24298375/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 将导航栏的背景图像恢复为默认值