【发布时间】:2016-03-29 15:37:44
【问题描述】:
我尝试使用它来更改状态栏颜色,纵向效果很好,
let proxyViewForStatusBar : UIView = UIView(frame: CGRectMake(0, 0,self.view.frame.size.width, 20))
proxyViewForStatusBar.backgroundColor=UIColor.purpleColor()
self.view.addSubview(proxyViewForStatusBar)
而且我不希望它在 iPhone 上横向显示。
所以我尝试了这个
override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) {
let proxyViewForStatusBar : UIView = UIView(frame: CGRectMake(0, 0,self.view.frame.size.width, 20))
if UIDevice.currentDevice().orientation.isLandscape.boolValue && UIDevice.currentDevice().userInterfaceIdiom == .Phone{
proxyViewForStatusBar.backgroundColor = UIColor.clearColor()
}else {
proxyViewForStatusBar.backgroundColor=UIColor.purpleColor()
}
self.view.addSubview(proxyViewForStatusBar)
}
感谢任何帮助。
【问题讨论】:
-
您不能只添加另一个具有清晰背景的新代理视图,您需要删除已经存在的代理视图。您应该在将其添加为子视图之前保留对它的引用,并在设备处于横向时将其删除。