我希望我的应用程序中的UINavigationBar是完全透明的,并与其直接下方的视图控制器同花顺。然而,我唯一能找到的代码使它透明但不透明。我知道这可以在iOS 7中完成,因为它在notes应用程序中使用。我的问题是,他们用来做这件事的代码是什么?
发布于 2017-02-05 01:43:57
@Zorayr的伟大答案被修改为Swift 3:
import Foundation
import UIKit
extension UINavigationController {
public func presentTransparentNavigationBar() {
navigationBar.setBackgroundImage(UIImage(), for:.default)
navigationBar.isTranslucent = true
navigationBar.shadowImage = UIImage()
setNavigationBarHidden(false, animated:true)
}
public func hideTransparentNavigationBar() {
setNavigationBarHidden(true, animated:false)
navigationBar.setBackgroundImage(UINavigationBar.appearance().backgroundImage(for: UIBarMetrics.default), for:.default)
navigationBar.isTranslucent = UINavigationBar.appearance().isTranslucent
navigationBar.shadowImage = UINavigationBar.appearance().shadowImage
}
}https://stackoverflow.com/questions/19082963
复制相似问题