UIImageView附加到_UIBarBackground

时间:2017-01-31 10:29:03

标签: ios objective-c uinavigationcontroller uinavigationbar

以下是该问题的屏幕截图: -

不确定为什么会添加uiimageview,什么是_UIBarBackGround?  enter image description here

感谢任何帮助。

完整流程截图: -

enter image description here

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但是使用了UITabBar

将UIBarStyle更改为黑色

public enum UIBarStyle : Int {

    
    case `default` = 0

    case black = 1

    
    @available(iOS, introduced: 2.0, deprecated: 13.0, message: "Use UIBarStyleBlack instead.")
    public static var blackOpaque: UIBarStyle { get }

    @available(iOS, introduced: 2.0, deprecated: 13.0, message: "Use UIBarStyleBlack and set the translucent property to YES instead.")
    case blackTranslucent = 2
}

tabBar.barStyle = .black

答案 1 :(得分:0)

我在向我同事的项目中添加新的 UINavigationController 时遇到了 UIImageView 的问题。

基本上,这是预定义类的一部分,所以我不认为删除它是一个好主意。但我让它变得透明。为此,我覆盖了函数 viewDidLoad 并添加了以下代码:

if #available(iOS 13.0, *) {
    let navBarAppearance = UINavigationBarAppearance()
    navBarAppearance.backgroundColor = UIColor.clear
    navigationController?.navigationBar.standardAppearance = navBarAppearance
}

这使得我同事在超类中添加的背景消失了。 UINavigationController 中的其他一些元素不是透明的,所以我也覆盖了函数 viewWillAppear 并添加到那里:

let bar = self.navigationController?.navigationBar
bar?.isTranslucent = true
bar?.backgroundColor = .clear
bar?.standardAppearance.backgroundEffect = nil