我不确定这是iOS 7的bug还是什么。但是..我无法使UIAccessibilityInvertColorsStatusDidChangeNotification
正常工作。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];
}
}
但是我的应用程序运行时,我改变了反转颜色模式通过tripple点击主页按钮,应用程序中没有任何反应。不要在控制台上得到消息,不要改变tintColor,别弄错'。
我在iOS 6和iOS 7上测试了这个。我尝试了为iOS 6.1而不是4.3设置我的构建目标,也没有修复它。
我试着将-(void)inverted;
添加到我的界面,并没有解决它。我尝试在倒置后添加冒号,但这并没有解决它,文档说这个通知无论如何都没有任何争论。
显然我做错了什么。什么?提前致谢。