1
當我嘗試定製UINavigationBar的添加到視圖控制器這樣iOS的11自定義導航欄給出了兩個酒吧
class ViewController: UIViewController
{
static let nav_bar_height: CGFloat = 64
let nav_bar: UINavigationBar =
{
let nav_bar = UINavigationBar()
nav_bar.translatesAutoresizingMaskIntoConstraints = false
nav_bar.backgroundColor = .blue
return nav_bar
}()
override func viewDidLoad()
{
super.viewDidLoad()
view.backgroundColor = .yellow
view.addSubview(nav_bar)
nav_bar.heightAnchor.constraint(equalToConstant: ViewController.nav_bar_height).isActive = true
nav_bar.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
nav_bar.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
nav_bar.widthAnchor.constraint(equalToConstant: UIScreen.main.bounds.width).isActive = true
}
}
任何想法,爲什麼有一個較小的高度白色的酒吧?
這是AppDelegate中
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
let vc = ViewController()
window?.rootViewController = vc
// Override point for customization after application launch.
return true
}...
此外,您定位和調整導航欄的方式並不是您如何做到的。但是我們可以在完成與周圍的導航控制器界面的拼搏之後處理這個問題。 – matt
但沒有導航控制器界面。 'class AppDelegate:UIResponder,UIApplicationDelegate {0} {0} {0}} var window:UIWindow? FUNC應用(_應用:UIApplication的,didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptionsKey:任何]) - >布爾{ 窗口=一個UIWindow?(幀:UIScreen.main.bounds) 窗口.makeKeyAndVisible() 設VC =的ViewController () window?.rootViewController = vc //覆蓋應用程序啓動後自定義的點。 return true } ' –
所以你聲稱。但我敢打賭,你正在隱瞞的東西。我認爲你有一個你沒有告訴我們的故事板,我認爲故事板中的初始視圖控制器是一個導航控制器(使用ViewController作爲其根視圖控制器),_that_是正在加載的視圖控制器。第二個導航欄僅僅是對這個問題的診斷。 – matt