我寫了下面的代碼來設置導航欄和視圖控制器的看法:UINavigation條顏色
導航條在AppDelegate中:
var navigationController = UINavigationController() navigationController.viewControllers = [mainViewController]
MainViewController答:
self.view.backgroundColor = UIColor.blue let fullScreenRect = UIScreen.main.bounds let buttonSize:CGFloat = 60 let viewLogButton = UIButton(frame: CGRect(x: 0, y: fullScreenRect.size.height-buttonSize, width:fullScreenRect.size.width, height: buttonSize)) viewLogButton.setTitle("View Log", for: UIControlState.normal) viewLogButton.setTitleColor(UIColor.white, for: .normal) viewLogButton.setTitleColor(UIColor.blue, for: .highlighted) viewLogButton.backgroundColor = UIColor.blue viewLogButton.addTarget(self, action: #selector(viewLogButtonPressed), for: .touchUpInside) self.view.addSubview(viewLogButton) self.webView.frame = CGRect(x: 0, y: UIConstants.NAVIGATION_BAR_HEIGHT+UIConstants.STATUS_BAR_HEIGHT, width: fullScreenRect.size.width, height: fullScreenRect.size.height-buttonSize-UIConstants.NAVIGATION_BAR_HEIGHT-UIConstants.STATUS_BAR_HEIGHT) self.view.addSubview(self.webview)
我然後做同樣在另一個的ViewController B(其是表視圖控制器):
MainViewController B:
let tableView = UITableView() let screenSize: CGRect = UIScreen.main.bounds self.view.backgroundColor = UIColor.blue let screenWidth = screenSize.width let screenHeight = screenSize.height tableView.frame = CGRect(x: 0, y: 0, width: screenWidth, height: screenHeight) self.view.addSubview(tableView)
我想知道爲什麼MainVi中有半透明的導航條ewController A但MainViewController B無法顯示?
我怎樣才能讓他們都顯示相同的半透明顏色導航欄?
子類NavigationController和添加自定義屬性。這將在應用程序中隨處可見。 – Ellen