Я не уверен, что это ошибка iOS 7 или что. Но..Я не могу заставить UIAccessibilityInvertColorsStatusDidChangeNotification
работать.UIAccessibilityInvertColorsStatusDidChangeNotification не наблюдается в iOS 7
Так что, когда я инициализировать мой наконечник я делаю это:
- (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];
}
}
Однако, когда мое приложение работает, и изменить режим Invert Colors через tripple-tap на домашней кнопке ничего не происходит в приложении. Не получайте сообщение на консоли, не получите изменения tintColor, не получите ничего.
Я тестировал это на iOS 6 и iOS 7. Я попытался настроить my build target для iOS 6.1 вместо 4.3, и это тоже не исправило.
Я попытался добавить -(void)inverted;
к моему интерфейсу, и это не исправить. Я попробовал добавить двоеточие после инвертирования, но это также не исправило его, и документы говорят, что это уведомление не имеет аргумента в любом случае.
Очевидно, что я делаю что-то неправильно. Какие? Заранее спасибо.