Попытка iOS 7 сделала:
[[UINavigationBar appearance] setTranslucent:NO];
Появилась ошибка и ошибка:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzleForSetter:'
*** First throw call stack:
(0x16ad9b8 0x142e8b6 0x16ad7ab 0x72163d 0x724c34 0x169daca 0x169d8de 0x6c09 0x228ea9 0x2296e9 0x22ab5e 0x240a6c 0x240fd9 0x22c7d5 0x35a4906 0x35a4411 0x16293e5 0x162911b 0x1653b30 0x165310d 0x1652f3b 0x22a2b1 0x22c4eb 0x6f3d 0x1d0d725)
libc++abi.dylib: terminating with uncaught exception of type NSException
Другие вызовы работают нормально: например.
[[UINavigationBar appearance] setBarStyle: UIBarStyleBlack];
Когда я устанавливаю прозрачность локально, он не сбой:
[self.navigationController.navigationBar setTranslucent:NO];
Я предполагаю, что это специфично для iOS 7, но еще не пробовал то же самое в iOS 6.