是否可以选择观察并获取有关出现和消失的信息? 我希望通过出现UIAlertController来对我的元素进行灰度化,比如apple ui-elements! 从现在开始我发现" _UIBackdropViewComputeAndApplySettingsNotification"被调用并包含有关出现视图的userInfo。
答案 0 :(得分:1)
您将 make 显示UIAlertController的视图,那么不如何知道?你不需要观察它;你正在做它(通过调用presentViewController...
)。
警报出现时会发生什么。什么时候它消失了?好吧,它消失了,因为用户点击了一个按钮。您可以为警报中的每个按钮编写处理程序。因此,您知道警报何时消失,因为您的处理程序正在运行。
答案 1 :(得分:0)
解决方案是,一切都会自动运行。你只需要实现..
override func tintColorDidChange() {
self.setNeedsDisplay()
}
..当然还在使用tintColor
感谢亚光快速回答!
答案 2 :(得分:0)
要扩展其他答案:您的每个UIView
子类都应实施tintColorDidChange
以获得更改通知。
以下是一个示例实现:
class someLabel : UILabel {
override func tintColorDidChange() {
let isInactive = self.tintAdjustmentMode == UIViewTintAdjustmentMode.Dimmed
if (isInactive) {
// modify subviews to look disabled
self.textColor = UIColor.grayColor()
} else {
// modify subviews to look enabled
self.textColor = self.tintColor
}
}
}
在this SO question中可以找到一些其他好的代码示例(尽管在Objective-C中)。