UIAlertController的NSNotification

时间:2014-12-23 02:15:28

标签: ios objective-c xcode user-interface swift

是否可以选择观察并获取有关出现和消失的信息? 我希望通过出现UIAlertController来对我的元素进行灰度化,比如apple ui-elements! 从现在开始我发现" _UIBackdropViewComputeAndApplySettingsNotification"被调用并包含有关出现视图的userInfo。

3 个答案:

答案 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中)。