我写了下面的代码来设置导航栏和视图控制器的看法: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