我不确定这是 iOS 7 的错误还是什么。但是..我无法UIAccessibilityInvertColorsStatusDidChangeNotification
工作。
所以当我初始化我的笔尖时,我会这样做:
- (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;
到我的界面,但并没有解决它。我尝试在反转后添加冒号,但这也没有解决它,文档说这个通知无论如何都没有参数。
显然我做错了什么。什么?提前致谢。