我的UITableViewCell
中有一个UIImageView
。当用户点击UIImageView
时,[IDMPhotoBrowser]
会显示UIImageView
(https://github.com/ideaismobile/IDMPhotoBrowser)。该应用程序仅为纵向,但是,当在IDMPhotoBrowser中查看全屏照片时,我想让用户能够旋转到任何方向。
IDMPhotoBrowser
上显示了UITableViewCell's delegate
。代表是常规UIViewController
,UITableView
。该委托也包含在UINavigationController
中,该UITabBarController
包含在IDMPhotoBrowser
中。我尝试了许多不同的解决方案,涉及扩展IDMPhotoBrowser
并尝试添加添加对所有方向的支持的函数,我尝试在UITabBarController
,UINavigationController
和the delegate UIViewController
上展示UITabBarController
IDMPhotoBrowser
。我还尝试翻转位于IDMPhotoBrowser
子类中的布尔值,然后在要求支持方向的函数中引用该布尔值,使得支持的方向相对于应用程序呈现AVPlayerViewController
时的方式发生变化。没有任何效果。
除了用户在全屏中查看(uLongf*)&dstLen
或dstLen
时,整个应用都需要限制为纵向方向。
答案 0 :(得分:1)
在UINavigationController(parent)中创建一个UINavigationController父类,以这种方式覆盖这些方法:
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return self.topViewController.supportedInterfaceOrientations
}
你希望旋转VC中的:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .All
}
在你的VC中你不想被轮换:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return .AllButUpsideDown
}
然后在此导航控制器中按下(或设置为root VC等)浏览器或浏览器的父VC。