У меня очень странная проблема с цветом оттенка в iOS7.
Когда ViewController, с которым у меня возникают проблемы с первой загрузкой, весь оттенок имеет светло-серый цвет, как будто все неактивно или находится за UIAlertView, который затемнил экран. Кнопки по-прежнему активны и работают нормально, но все они серые. (У меня установлен оранжевый цвет оттенка, подробнее об этом чуть позже).
Вот что странно. Если я представлю, а затем немедленно отклоню другой ViewController, появится весь оранжевый оттенок, и все будет работать, как ожидалось. Это единственный способ добиться появления оттенка - больше ничего не работает.
Я использую одни и те же базовые шаблоны кода во всем приложении, и эта проблема действительно затрагивает только один ViewController. Этот конкретный ViewController представлен UIModalPresentationFullScreen
и UIModalTransitionStyleCoverVertical
, если они вообще имеют значение.
Вот как настраиваю тонировку:
Во-первых, я установил цвет оттенка для каждого контроллера представления в построителе интерфейса, эти настройки одинаковы как для рабочих, так и для проблемных VC.
Затем я установил глобальный цвет оттенка в моем делегате приложения следующим образом:
[_window setTintColor:[UIColor orangeColor]];
Эти два работают с большинством моих ViewController'ов, но по какой-то причине не со всеми. Для тех, над которыми он не работал, я использовал несколько различных техник, чтобы заставить цвет оттенка работать. Например:
self.view.tintColor = [UIColor orangeColor];
or
[_myUIBarButtonItem setTitleTextAttributes:
[NSDictionary dictionaryWithObject:[UIColor orangeColor]
forKey:NSForegroundColorAttributeName]
forState:UIControlStateNormal];
или принудительно обновить tintColor:
[_myButtonOutlet setTitleColor:_cancelButtonOutlet.tintColor
forState:UIControlStateNormal];
Любые идеи?
self.view addSubview:
для добавления представлений после загрузки и отображения основного представления. Я использовал некоторые операторы NSLog, чтобы вывести оттенок некоторых элементов, с которыми у меня возникли трудности. У них есть набор оранжевого оттенка - он просто не отображается. Я читал, что цвет оттенка должен быть установлен за пределами экрана, поэтому мне интересно, не принимают ли мои вспомогательные представления цвет оттенка, потому что они загружаются после отображения основного представления. - person itnAAnti   schedule 14.01.2014viewDidLoad
иviewDidAppear
цвет оттенка устанавливается наUIDeviceWhiteColorSpace 0.595 0.8
. - person itnAAnti   schedule 14.01.2014UIDeviceWhiteColorSpace
цвет. - person itnAAnti   schedule 14.01.2014