Существует способ уведомления, когда будет представлен пользовательский UIView или removeFromSuperview ()?

#swift #uiview #viewcontroller #notificationcenter

#swift #uiview #viewcontroller #notificationcenter

Вопрос:

Я создаю пользовательский UIView, используя этот код:

 lazy var temporary: UIView = {
        let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
        view.backgroundColor = .white
        return view
        
    }()
  

Существует способ использовать NotificationCenter уведомлять, когда это представление будет представлено и удалено из VC, если я использую:

 self.view.addSubview(temporary)
  

или

 temporary.removeFromSuperview()
  

Ответ №1:

Я не совсем уверен, о чем вы спрашиваете. Я думаю, вы просите способ определить, когда ваш пользовательский вид добавляется в качестве подвида другого представления.

Самый простой способ сделать это — сделать ваше представление пользовательским подклассом UIView и реализовать didMoveToSuperview() или willMove(toSuperview:) . Эти методы вызываются, когда ваше представление добавляется в качестве дочернего представления другого представления.

Если вы действительно хотите использовать центр уведомлений, вы можете настроить, чтобы ваш пользовательский класс просмотра передавал уведомление при его добавлении в superview.