ios - 快速禁用xib的屏幕旋转
问题描述
我在 swift 中创建了一个动态框架,每当 voip 通知到达时,我的框架内的 .xib 文件就会打开。我只想将屏幕的方向限制为纵向模式,但我不知道该怎么做。
我尝试了以下方法,但这些只能在 UIViewController 中使用,而不能在 UIView 中使用。
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
解决方案
经过这么长时间,我终于想出了解决方案。我在我的框架中创建了一个视图控制器类,我从中打开 .xib 文件。我在新创建的视图控制器中包含了以下功能
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
现在在打开 .xib 之前,我在当前视图控制器的顶部显示了这个视图控制器,即我从它自己的文件中调用了这个视图控制器,有点像这样
self.navCtrl?.present(自我,动画:假,完成:无)
通过这样做,我的 .xib 文件在我的框架的视图控制器而不是应用程序的视图控制器上方打开。要关闭此视图控制器,只需使用
dismiss(animated: false, completion: nil)
因此问题解决了。
推荐阅读
- json - JSON Schema oneof 不需要
- ios - 无法在没有 iOS 的情况下上传 WatchApp 构建
- javascript - Javascript - 替换对象内的所有字符串
- thymeleaf - 编辑 .ftl 文件后如何使用 Spring Roo 重建 thymeleaf 输出?
- python - 如何将登录用户链接到他创建的帖子?
- visual-studio - 未选中 Visual Studio 2019 项目中已安装的 nuget 包复选框
- sql - Oracle sql日期查询格式个位数
- android-layout - 在回收站视图内的约束布局中添加文本视图会缩短约束布局宽度
- python-3.x - 在python3中将MMM yyyy转换为yyyy-mm
- reactjs - 从同一个父组件的另一个子组件渲染子组件中的 ref