我在一个表格视图单元格中有一个图像,用户可以在其中单击该图像,应用程序将在其中添加该图像的子视图。表格视图可以比屏幕更长。问题是,如果我将表视图向上滚动一点,并且用户点击图像,那么子视图中的图像就会向上滚动。我的猜测是打电话给newImageView.frame = UIScreen.main.bounds
不是我所需要的吗?
@IBAction func imageTapped(_ sender: UITapGestureRecognizer) {
let imageView = sender.view as! UIImageView
let bookImage = UIImageView(image: imageView.image)
bookImage.frame = UIScreen.main.bounds
bookImage.backgroundColor = .black
bookImage.contentMode = .scaleAspectFit
bookImage.isUserInteractionEnabled = true
let bookImageTap = UITapGestureRecognizer(target: self, action: #selector(dismissFullscreenImage))
bookImage.addGestureRecognizer(bookImageTap)
self.view.addSubview(bookImage)
self.navigationController?.isNavigationBarHidden = true
self.tabBarController?.tabBar.isHidden = true
}
答案 0 :(得分:2)
self.view
是一个表格视图,是一种滚动视图。如果在其中添加一个子视图,它将随表格视图一起滚动。我想你不想那样。
因此,您不应将bookImage
添加为self.view
的子视图。您可以改为将其添加为window
的子视图:
let window = (UIApplication.shared.delegate as! AppDelegate).window
window?.addSubview(bookImage)