Как изменить размер контроллера представления переменных на размер контроллера представления классов?
Итак, что происходит в приведенном ниже коде? Мне нужно было отображать 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: {}