iphone - 在 iOS 7 中未观察到 UIAccessibilityInvertColorsStatusDidChangeNotification

标签 iphone ios objective-c accessibility nsnotifications

我不确定这是 iOS 7 错误还是什么。但是..我无法让 UIAccessibilityInvertColorsStatusDidChangeNotification 工作。

所以当我初始化 Nib 时,我会这样做:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {

        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(inverted)
                                                     name:UIAccessibilityInvertColorsStatusDidChangeNotification
                                                   object:nil];
    }
    return self;
}

稍后在我的代码中我收到通知:

- (void)inverted {
    if(UIAccessibilityIsInvertColorsEnabled()) {
        NSLog(@"setting tintcolor to cyan");
        self.view.tintColor = [UIColor cyanColor];
        [self tintColorDidChange];
    } else {
        NSLog(@"setting tintcolor to red");
        self.view.tintColor = [UIColor redColor];
        [self tintColorDidChange];
    }
}

但是,当我的应用程序正在运行并且我通过三次点击主页按钮更改反转颜色模式时,应用程序中没有任何反应。不要在控制台上收到消息,不要更改 tintColor,什么也不要。

我在 iOS 6 和 iOS 7 上对此进行了测试。我尝试将我的构建目标设置为 iOS 6.1 而不是 4.3,但也没有解决问题。

我尝试将 -(void)inverted; 添加到我的界面,但没有解决问题。我尝试在倒置后添加冒号,但这也没有解决它,文档说这个通知无论如何都没有参数。

显然我做错了什么。什么?提前致谢。

最佳答案

奇怪...一定是个错误但是...

为了解决这个问题,我所要做的就是打电话

UIAccessibilityIsInvertColorsEnabled();

在 viewController 的 viewDidLoad 方法中。在我添加了那一行代码之后,现在通知可以正常通过了(尽管仍然有一个显示框显示错误)。显然,除非您先调用它,否则根本不会观察到反转颜色通知。 Apple 的文档不会告诉您这一点。

绝对是我遇到的最奇怪的事情之一。

关于iphone - 在 iOS 7 中未观察到 UIAccessibilityInvertColorsStatusDidChangeNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378902/

相关文章:

iphone - 基于 NSFetchedResultsController 的 TableView 在第二次插入实体时总是失败

iphone - View Controller 可以管理超过 1 个基于 nib 的 View 吗?

ios - 如何创建一个谓词,其中 % 在 ios 中作为字符串工作

ios - 全局访问 UIalertview 中的文本字段数据

iphone - 在 View IOS 中禁用用户交互

ios - 如何将 NSArray 转换为整数值

iphone - 移动网络上的语音录制/播放(Android、iOS、BB)

Iphone-切换通话状态栏时如何调整 View 大小?

iphone - 最佳实践,即发即弃的异步类?

iphone - Objective C - 使用 NSURLConnection 发布数据