gpt4 book ai didi

ios - 如何在一个地方拦截应用程序中的所有 View Controller viewDidAppear 事件?

转载 作者:可可西里 更新时间:2023-11-01 05:42:46 25 4
gpt4 key购买 nike

我有一个基于 UITabBarController 的应用程序,并且有一个类似于音乐应用程序播放器的附加栏出现在选项卡栏上方。

现在我想自动向所有顶级 View Controller (实际上是所有顶级 ScrollView )添加插图,以便内容永远不会被我的附加栏覆盖。

一个明显的方法是将所有 ScrollView 、表格 View 等子类化并添加插图。另一种方法是子类化 UIViewController 并在整个应用程序的任何地方使用它。在现有的具有数十个 View Controller 的应用程序中,这都不是一个好的选择。我也不想使用方法调配。

所以我在想,标签栏 Controller 可以以某种方式拦截应用程序中的所有 View Controller 呈现事件(viewDidAppear?)并相应地调整它们的顶级可 ScrollView 。

但是,似乎找不到拦截这些事件的简单方法。有任何想法吗?或任何其他方式如何自动将 insets 注入(inject)到任何地方?

最佳答案

How to intercept all view controller viewDidAppear events in the app in one place?

除了调整 UIViewController 的 viewDidAppear: 之外,没有办法做到这一点。

Or any other ways of how insets can be injected automatically everywhere?

只需在您的 UITabBarController 上设置 additionalSafeAreaInsets。当附加栏出现或消失(如果是)时调用 viewSafeAreaInsetsDidChange

关于ios - 如何在一个地方拦截应用程序中的所有 View Controller viewDidAppear 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52718546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com