存在方式通知何时将呈现自定义 UIView 或 removeFromSuperview()?

Posted

技术标签:

【中文标题】存在方式通知何时将呈现自定义 UIView 或 removeFromSuperview()?【英文标题】:Exist way notify when custom UIView will be presented or removeFromSuperview()? 【发布时间】:2020-11-19 14:41:20 【问题描述】:

我正在使用此代码创建自定义 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:)。当您的视图被添加为另一个视图的子视图时,这些方法会被调用。

如果您真的想使用通知中心,您可以让您的自定义视图类在添加到超级视图时广播通知。

【讨论】:

以上是关于存在方式通知何时将呈现自定义 UIView 或 removeFromSuperview()?的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义网络通知?

何时在自定义 UIVIew 中添加 CAAnimation?

如何将 MKMapView(或任何 UIView)裁剪为自定义形状?

框架中的自定义 ui 组件未呈现到故事板

R语言使用table1包绘制(生成)三线表使用单变量分列构建三线表自定义为指定的分列因子添加分组标签编写自定义函数指定统计量的呈现方式

5 星评级不会通知 UITableView 更新值;自定义 UIView 类的作品