gpt4 book ai didi

ios - 强制 View Controller 重新加载以刷新 UIAppearance 更改

转载 作者:IT王子 更新时间:2023-10-29 08:21:53 26 4
gpt4 key购买 nike

我找了好久都没找到答案。我正在开发一个 iOS 应用程序,并且有一个模态设置页面,该页面出现在点击一个按钮并返回一个 segue 时。我想要实现的选项之一是配色方案设置。我真的很想避免手动更改页面上每个元素的颜色。

Apple 有一个 UIAppearance这类事情的协议(protocol)(所以我可以设置所有按钮的文本颜色等。他们的文档说:

Note: iOS applies appearance changes when a view enters a window, it doesn’t change the appearance of a view that’s already in a window. To change the appearance of a view that’s currently in a window, remove the view from the view hierarchy and then put it back.

我的问题是如何做到这一点。我试过调用 viewWillAppear 和 setNeedsDisplay 但没有成功。

最佳答案

尝试使用这个片段:

NSArray *windows = [UIApplication sharedApplication].windows;
for (UIWindow *window in windows) {
for (UIView *view in window.subviews) {
[view removeFromSuperview];
[window addSubview:view];
}
}

http://snipplr.com/view/75259/refresh-uiappearance-after-application-loaded/

使用 UIAppearance 更改应用主题后,它非常适合我

关于ios - 强制 View Controller 重新加载以刷新 UIAppearance 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20875107/

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