iOS popViewControllerAnimated黑条出现

时间:2015-07-03 14:32:06

标签: ios swift uinavigationbar

我有两个viewcontrollers。第一个viewcontroller没有状态栏。

class ViewController: UIViewController {

    override func prefersStatusBarHidden() -> Bool {
        return true
    }

}

我也在Info.plist中将UIViewControllerBasedStatusBarAppearance设置为YES。

第二个viewcontroller有状态栏。

class SecondViewController: UIViewController {

    override func prefersStatusBarHidden() -> Bool {
        return false
    }
}

他们之间的关系是一种推动力。

enter image description here

最后一件事是我在application:didFinishLaunchingWithOptions:方法中将半透明属性设置为false。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    UINavigationBar.appearance().translucent = false
    UINavigationBar.appearance().barTintColor = UIColor.redColor()

    return true
}

当我在导航栏中单击后面时,有一个黑色条。我怎么能摆脱它?当我将translucent设置为true时,黑条就消失了。

enter image description here

1 个答案:

答案 0 :(得分:2)

阅读帖子Explaining difference between automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout in iOS7后,我找到了解决方案。

extendedLayoutIncludesOpaqueBars设为true。

func viewDidLoad() {
    extendedLayoutIncludesOpaqueBars = true // property introduced in iOS7,default value is false
}