有没有选择去观察和获取有关出现和消失的信息?我想通过出现UIAlertController来对我的元素进行灰度缩放,比如苹果用户界面元素!从现在起,我发现"_UIBackdropViewComputeAndApplySettingsNotification“被调用并包含关于出现的视图的userInfo。
发布于 2014-12-23 02:19:46
您将使UIAlertController的视图出现,那么您怎么可能不知道呢?您不需要观察它;您正在这样做(通过调用presentViewController...)。
这会影响警报出现时发生的情况。当它消失的时候呢?因为用户点击了一个按钮它就消失了。您可以为警报中的每个按钮编写处理程序。因此,您再次知道警报何时消失,因为您的处理程序正在运行。
发布于 2014-12-23 03:01:40
要详细了解其他答案:您的每个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中)。
https://stackoverflow.com/questions/27613193
复制相似问题