我有一张照片全屏显示黑色条以保持比例。我遇到的问题是它也不会越过导航栏和标签栏。我猜测我需要改变的部分代码就在这里
let imageView = sender.view as! UIImageView
let newImageView = UIImageView(image: imageView.image)
newImageView.frame = self.view.frame
newImageView.backgroundColor = .black
newImageView.contentMode = .scaleAspectFit
我可以将newImageView框架设置为什么,以便涵盖所有内容?
答案 0 :(得分:0)
问题是全屏图像位于导航栏和标签栏后面。
要将其设置为全屏尺寸,请使用UIScreen.main.bounds
:
newImageView.frame = UIScreen.main.bounds
显示全屏图像时,隐藏导航栏和标签栏:
self.navigationController?.isNavigationBarHidden = true
self.tabBarController?.tabBar.isHidden = true
取消全屏图像时,请恢复导航栏和标签栏:
self.navigationController?.isNavigationBarHidden = false
self.tabBarController?.tabBar.isHidden = false
替代解决方案
正如评论中提到的@LeoDabus,您可以通过展示一个新的viewController来解决这个问题,该viewController包含覆盖整个视图的imageView。以模块形式呈现此viewController:
self.present(newViewController, animated: false, completion: nil)
注意:将animated
设置为false
将允许全屏图像显示而不显示动画。