我一直在尝试用背景图片创建导航栏,但遇到了很多麻烦。

在此处输入图片说明

我无法解决的两个问题:

1)图像下方的粉红色线

2)后退按钮应向上移动一点

这是我用来放置图像的代码:

class CustomNavController: UINavigationController {
    override func viewDidLoad() {
        super.viewDidLoad()

        if let img = UIImage(named: "topbar60.png"){
            UINavigationBar.appearance().setBackgroundImage(img, for: .default)
        }
    }
}

原始条形图: 在此处输入图片说明

如果有人真的很慈善,您可以将图像和Navigation Controller子类插入一个空项目中以尝试解决此问题。

非常感谢您的帮助。

#1楼 票数:1 已采纳

对于第一个问题,由于图像的高度为60而导航栏的高度为64,所以您得到粉红色的下划线。如果将图像的高度更改为64,则粉红色的线条将消失。

至于第二个问题,它要复杂一些。 最好的选择是创建一个自定义UIBarButtonItem

  ask by JP Aquino translate from so

未解决问题?本站智能推荐:

1回复

如何在导航栏下创建自定义标签栏?

我必须在视图上方创建一个标签栏( 屏幕截图 )。 我发现有人遇到相同问题的文章 。 但是我很难理解应该为该答案的3.1章编写什么代码。 有人可以帮我理解吗?
1回复

iOS-仅为某些UIViewController自定义导航栏

我必须向现有应用程序添加新屏幕,该应用程序将使用与现有应用程序不同的导航栏样式,并可从不同屏幕访问。 这个想法是只为那些屏幕显示新的导航栏样式,所以当用户完成该流程或返回开始导航的屏幕时,它应该再次显示以前使用的导航栏样式。 我尝试了两件事,但没有按预期工作: 我想将新屏幕包装在一个新的UINav
1回复

使用自定义图像作为UINavigationController导航栏的背景

我正在尝试将图像用作导航栏的背景。 我可以将图像放到栏中,但显示不正确。 我已经附上了所需背景的图像以及得到的结果。 另外,这是我用来使图像进入条形背景的代码。 编辑:答案之一将图像放入代码中,但现在它在栏上平铺。 有没有办法解决这个问题? 我现在在应用程序委托中使用以下代码:
1回复

修改默认导航栏或从UIView创建完全自定义的导航栏

我在应用程序上工作,但我无法选择做什么:1) 修改默认的 UINavigationBar 或 2) 创建我自己的视图作为导航栏并使用它 3) 甚至更多 - 只需在视图上放置需要的元素(按钮、图像视图和标签) . 最好的选择是什么? 使用默认导航栏有什么好处?
2回复

使用不同屏幕的自定义导航栏?

我正在开发一个包含不同navigationBars的应用程序。 标题和后退按钮 标题,左键和右键 带有通知图标的标题,带有徽章计数 带有带徽章计数的购物车图标标题 考虑了两种不同的方法: 以programmatically在基本控制器中创建导航(通知和卡片的徽章
2回复

如何设置自定义(RGB)颜色到导航栏?

我无法将RGB颜色设置为UINavigationBar和ToolBar。 我尝试过这个 我也尝试过HSB颜色 但是,当我编写以下方法时,它可以工作。 如何将RGB颜色设置为条形?
1回复

带有自定义导航栏的导航堆栈中控制器之间的转换

我有三个控制器,每个在导航栏上都有不同的样式 控制器A:白色的导航栏,透明的状态栏(以便显示内容),通过导航栏上的自定义bg图像实现 控制器B:白色导航栏,白色状态栏,通过导航栏上的自定义bg图像实现 控制器C:导航栏被隐藏,只有带有按钮的自定义透明视图 标准用例是A> B
1回复

在viewwillappear中添加自定义导航栏会使导航变慢?

我创建了一个自定义导航栏。现在我将其添加到viewwillappear由于此,当我返回到视图控制器时需要花费一些时间来加载。 请指导我如何使其快速,因为这非常慢。