Как изменить размер контроллера представления переменных на размер контроллера представления классов?

Итак, что происходит в приведенном ниже коде? Мне нужно было отображать ImagePreviewController:UIViewcontroller при длительном нажатии. Но поскольку это произошло в TableViewCell, мне пришлось представить как контроллер представления переменных. Итак, теперь мне нужно стилизовать контроллер представления переменных, как у меня был класс ImagePreviewController.

Кроме того, почему я просто не использовал класс ImagePreviewController с contextMenuInteraction, как раньше, с другим долгим нажатием? Потому что долгое нажатие должно давать результаты только тогда, когда выполняются функции базы данных. Поэтому я не могу просто добавить взаимодействие в функцию переопределения

      weak var viewController: UIViewController?

@objc func didLongPress() {
 ///check db rules are met
image = UIImage(named:"g.png")
if let image = image {
let previewVC = ImagePreviewController(image:image)
  viewController?.present(previewVC, animated: true, completion: nil)
 }}

 ////in cellForRowAt
 cell.viewController = self

///override func uses didLongPress

///**now below is how I sized the ImagePreviewController, ie View controller class with contextMenuInteraction**. 

class ImagePreviewController: UIViewController {
private let imageView = UIImageView()
init(image: UIImage) {
    super.init(nibName: nil, bundle: nil)
    imageView.contentMode = .scaleAspectFill
    imageView.clipsToBounds = true
    imageView.image = image
    view = imageView
    let size = UIScreen.main.bounds.size
    preferredContentSize = .init(width: size.width, height: size.height/1.55)
}
required init?(coder: NSCoder) {
    super.init(coder: coder)
}
 }

 func contextMenuInteraction(_ interaction: UIContextMenuInteraction, configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {
    UIContextMenuConfiguration(identifier: nil, previewProvider: {}

0 ответов

Другие вопросы по тегам