Как отключить поддержку тёмной темы в приложении?


#1

Нужно сделать единый цветовой дизайн как для светлой так и для темной темы iOS, но лень каждый раз указывать label, что он должен быть чёрным, а tableViewCell, что она должна быть белой.

Есть ли какой-то способ просто отключить цветовую инверсию, когда пользователь врубает тёмную тему?


#2

Только что с этим игрался. Щас дам решение.

В Info.plist

<key>UIUserInterfaceStyle</key>
<string>Light</string>

#3

А смысл её отключать? Сейчас все её наоборот внедряют в свои приложения


#4

Если приложение уже было написано без поддержки темной темы, то это не так быстро переделать его. И что бы не было глюков в темной теме, ее отключают в приложении.


#5

отлично, это работает!


#6

Если не сложно, объясните в чем преимущество над решением через код?


#7

Можно и так в каждом viewController

 self.overrideUserInterfaceStyle = .light

или для всего приложения в AppDelegate

window?.overrideUserInterfaceStyle = .light

#8

Не понял вопроса, можете точнее?


#9

К примеру, чтобы отключить тёмный режим я делал по принципу как @VYT через код. Вопрос в том, в чем преимущество вашего способа через указание в info.plist? Если я правильно понимаю, то проще один раз указать в info.plist, чем играться с кодом в контроллерах?


#10

Даже не знаю как это описать. Скажем так, если можно что-то отключить/включить через Info.plist, то лучше так, т.к. потом будет проще это находить, чем копаться в коде. Это чисто мое мнение.


#11

Спасибо. Да, мне тоже больше по душе Ваше решение)


#12

Я решил это так в info, по ключу Appearance добавил значение Light

18