我不確定這是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;
添加到我的界面,並沒有解決它。我嘗試在倒置後添加冒號,但這並沒有解決它,文檔說這個通知無論如何都沒有任何爭論。
顯然我做錯了什麼。什麼?提前致謝。