在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.状态栏的隐藏 这个问题是基于 UIApplication.shared.isStatusBarHidden = true; 调用居然是无效的…… 现在写下自己的代码,用来备忘吧…… 1.首先需要复写一个 hidden 的这个属性 ,然后调用 setNeedsStatusBarAppearanceUpdate() 方法, 这样使用又觉得麻烦,所以 又多设置了一个变量 ,让使用更简单
override var prefersStatusBarHidden: Bool { return self.isStatusBarHidden } var isStatusBarHidden = false { didSet{ self.setNeedsStatusBarAppearanceUpdate() } }
在使用的地方调用 self.isStatusBarHidden = true // self.isStatusBarHidden = false;
2.屏幕的翻转: 首先写下试用与 iphone 和 ipad 的 我使用的是transfrone 旋转 视图view ,这样的前提是 这个view 是present 出来的,不能用 navigationController 了
//定义枚举 enum ScreenOrientation :Int { case portrait = 1; case landscape = 2 } // 定义常量 let scrw = UIScreen.main.bounds.size.width; let scrh = UIScreen.main.bounds.size.height; //定义方法 func tranformView() -> Void { if self.orientation == .landscape { self.orientation = .portrait }else{ self.orientation = .landscape; } if self.orientation == .landscape { self.isStatusBarHidden = true UIView.animate(withDuration: deviceChangeOrientationTimeIntravel, animations: { self.view.transform = CGAffineTransform.init(rotationAngle: CGFloat(Double.pi / 2)) self.view.bounds = CGRect(x:0,y:0,width:scrh,height:scrw); self.viewWillLayoutSubviews(); self.view.layoutIfNeeded(); }) { (isFinish) in } }else{ self.isStatusBarHidden = false; UIView.animate(withDuration: deviceChangeOrientationTimeIntravel, animations: { self.view.transform = CGAffineTransform.init(rotationAngle: CGFloat(0)) self.view.bounds = CGRect(x:0,y:0,width:scrw,height:scrh); self.viewWillLayoutSubviews(); self.view.layoutIfNeeded(); }) { (isFinish) in } } }
简单易懂,应该是可以使用了……
网上也找了 这个方法,但是使用的时候,只有在iphone 上用,ipad 使用无效 /*
调用的时候
|
请发表评论