gpt4 book ai didi

ios - 更新 UITableView 部分标题的背景颜色

转载 作者:行者123 更新时间:2023-11-28 11:45:38 25 4
gpt4 key购买 nike

在我的应用程序中,我让用户更改主主题颜色,然后相应地更新 UI 元素。我有一个导航 Controller ,它嵌入到选项卡栏 Controller 中。

该应用程序有两个选项卡,主屏幕(具有导航 Controller )和设置选项卡(单个 UIViewController)。当用户从设置页面更改主题颜色并返回主屏幕(即切换标签)时,UITableView 中部分标题的背景颜色不会更新。

我使用 tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) 设置节标题的背景颜色,但是,显然,当用户在选项卡之间切换时不会调用此方法。

我必须使用导航 Controller (即导航到另一个 View 并返回主屏幕)来更新 UITableView 部分标题的颜色。

当用户从设置选项卡返回到主屏幕时,如何更新颜色?

我使用 Swift 4.1

谢谢

最佳答案

您任务的正确解决方案是使用通知。当用户更新设置时,使用 NotificationCenter 发布通知,例如“配色方案已更改”。

然后任何需要在发布此通知时执行操作的类都可以注册以接收此特定通知。

您可以让这个 View Controller 监听通知并根据需要重新加载 TableView 。任何其他也需要根据通知更新自身的 View 、控件或 Controller 也可以注册并根据需要更新自身。

与依赖其他事件(例如 View 再次可见)相比,这是一个更好的解决方案。它还消除了每次查看 View Controller 时不必要地重新加载表,即使用户没有更改任何设置也是如此。

关于ios - 更新 UITableView 部分标题的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52616176/

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