Мой addSubview для изображения добавляет больший вид, чем ожидалось - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть изображение внутри ячейки табличного представления, где пользователь может нажать пользователя на изображение, приложение добавляет подпредставление с этим изображением в нем.Вид таблицы может быть длиннее экрана.Проблема в том, что если у меня немного прокручивается табличное представление и пользователь нажимает на изображение, изображение в подпредставлении прокручивается вверх.Я предполагаю, что звонить 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
}

это то, что должно выглядеть, куда бы я ни нажал this is what it’s suppose to look like wherever I tap it

это то, что происходит, если я прокручиваю вид таблицы вверх и нажимаю на изображение this is what happens if I scroll the table view up and tap the image

1 Ответ

0 голосов
/ 21 декабря 2018

self.view - это табличное представление, которое является видом прокрутки.Если вы добавите к нему подпредставление, оно будет прокручиваться вместе с представлением таблицы.Полагаю, вы этого не хотите.

Поэтому вам не следует добавлять bookImage в качестве подпредставления self.view.Вместо этого вы можете добавить его как подпредставление window:

let window = (UIApplication.shared.delegate as! AppDelegate).window
window?.addSubview(bookImage)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...