【发布时间】:2014-01-02 01:28:55
【问题描述】:
我已经搜索了很长时间,但找不到答案。我正在开发一个 iOS 应用程序,并且有一个模式设置页面,该页面出现在一个按钮的点击上并返回一个 segue。 我想实现的选项之一是配色方案设置。我真的很想避免手动更改页面上每个元素的颜色。
Apple 有一个UIAppearance 协议来处理这类事情(所以我可以设置所有按钮的文本颜色等。 他们的文件说:
注意:当视图进入窗口时,iOS 会应用外观更改,它不会更改已经在窗口中的视图的外观。要更改当前位于窗口中的视图的外观,请从视图层次结构中删除该视图,然后将其放回原处。
我的问题是如何做到这一点。我试过调用 viewWillAppear 和 setNeedsDisplay,但没有运气。
【问题讨论】:
-
从视图层次结构中删除视图 - 唯一的方法是 [view removeFromSuperView] 或者如果视图被推送,那么您可以弹出视图并再次推送它而不使用动画
标签: ios objective-c interface-builder