gpt4 book ai didi

ios - 为非半透明导航栏swift 4设置背景图片

转载 作者:搜寻专家 更新时间:2023-11-01 06:00:49 27 4
gpt4 key购买 nike

我想更改导航栏的背景颜色,同时将半透明设置为 false,它只是纯白色,在我为背景颜色设置图像之前它不会改变。任何帮助将不胜感激。

let homeViewController = HomeViewController();
let navigationController = UINavigationController(rootViewController: homeViewController);
let navBar = navigationController.navigationBar;
navBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white];
navBar.setBackgroundImage(UIImage(), for: .default);
navBar.shadowImage = UIImage();
navBar.isTranslucent = false;
navBar.backgroundColor = UIColor.red; //not working
navBar.tintColor = UIColor.red //not working

* 编辑 *

非常感谢你们,是的,就是这样,你们能再帮我一下吗?我想改变导航栏颜色的原因是因为我想让它透明,这样我就可以给它添加一个渐变背景,现在我可以用 barTintColor 将它设置为清除。但还是这样

navBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor:UIColor.white];
navBar.setBackgroundImage(UIImage(), for: .default);
navBar.shadowImage = UIImage();
navBar.isTranslucent = false;
navBar.barTintColor = .clear;

不起作用,我仍然看不到我这样设置的渐变:

let bg = UIImageView(image: UIImage(named: "gradient"));
bg.frame = CGRect(x: 0, y:0, width: UIApplication.shared.statusBarFrame.width, height: UIApplication.shared.statusBarFrame.height + (navBar.frame.height));
bg.contentMode = .scaleAspectFill;
bg.layer.masksToBounds = true;
bg.layer.opacity = 1;
navigationController.view.insertSubview(bg, belowSubview: navBar);

我不只是使用 setBackgroundImage 设置背景图像的原因是我想更改背景图像在导航栏中的位置,因此它应该在导航栏的右侧。

我知道我得到了我的问题的答案,但这是真实的,但仍然无法弄清楚。无论如何,无论你们是否回答我,我都会将最佳答案标记为最佳答案,但如果你们能进一步帮助我,我将不胜感激。

  • 编辑 *

添加图片

Image of The Problem

最佳答案

你设置了错误的属性。

设置 barTintColor 以应用您的背景颜色:

navBar.barTintColor = UIColor.red

这是 Apple 文档:barTintColor

关于ios - 为非半透明导航栏swift 4设置背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51420190/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com