Как установить исходный цвет фона окон Mac Catalyst?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как установить исходный цвет фона окон Mac Catalyst?

Сообщение Anonymous »

My IOS и Mac Catalyst в приложении по умолчанию использует темную тему темного цвета, независимо от темы цвета системы. Когда приложение представляет модальный контроллер представления (всплывающее окно или поповер) на iOS, фон этого представления темный для всей видимой жизни. Но на macOS, если цветовая тема системы является легкой, фон всплывающего окна изначально белый до тех пор, пока вид не загрузится, а фон попора изменяется на белый, когда он отклоняет: < /p>
< img alt = "Анимация, показывающая модальные виды, загружающие неверный цвет фона" src = "https://i.sstatic.net/vtnz3nlo.gif"/>
В моем модальном представлении контроллеры. Я переопределяю цветовую тему, а также вручную настраивая цвет фона. Это выполняет работу на iOS, но не влияет на macOS: < /p>

Код: Выделить всё

override func viewDidLoad() {
super.viewDidLoad()

self.overrideUserInterfaceStyle = .dark

self.view.backgroundColor = myColor
}
Я устанавливаю overrideUserInterfaceStyle таким образом в главном контроллере представления; это обрабатывает основное представление, но не влияет на всплывающие окна и всплывающие окна.
Я попробовал установить overrideUserInterfaceStyle для объекта окна приложения, но это не дало никакого эффекта. Я пробовал установить его в application:didFinishLaunchingWithOptions: для AppDelegate, в сцене:willConnectTo:options: для SceneDelegate и даже в viewDidLoad для контроллера модального представления.В файлах xib, которые я использую для всплывающих окон и всплывающих окон, я попытался установить для фона представления верхнего уровня желаемый цвет фона, но это не дало никакого эффекта. (Обычно я устанавливаю их прозрачными, что нормально для iOS.)
Очевидно, macOS отображает пустое представление перед загрузкой xib и перед запуском viewDidLoad. Есть ли более «глубокий» способ установить цвет, чтобы избежать этого уродливого визуального эффекта?
ОБНОВЛЕНИЕ
Вот минимальный код, демонстрирующий проблему:

Код: Выделить всё

let test = UIViewController()
App.mainViewController.present(test, animated: true)
В результате появляется белое всплывающее окно, если Mac использует светлую цветовую тему, хотя для overrideUserInterfaceStyle основного контроллера представления установлено значение темное. Я пробовал устанавливать overrideUserInterfaceStyle на разных уровнях, но без изменений:

Код: Выделить всё

App.window?.overrideUserInterfaceStyle = .dark
App.mainViewController.overrideUserInterfaceStyle = .dark
let test = UIViewController()
test.overrideUserInterfaceStyle = .dark
test.view.rootView.overrideUserInterfaceStyle = .dark
test.view.window?.overrideUserInterfaceStyle = .dark
App.mainViewController.present(test, animated: true)
Если я установите цвет фона представления всплывающего окна, который работает, но изначально он выглядит белым, а затем цвет фона вступает в силу, как в анимации выше.

Код: Выделить всё

let test = UIViewController()
test.view.backgroundColor = App.bgColor
App.mainViewController.present(test, animated: true)
На iOS все, что мне нужно, это установить overdeUserInterfacestyle на основном контроллере представления.

Подробнее здесь: https://stackoverflow.com/questions/793 ... st-windows
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как установить исходный цвет фона окон Mac Catalyst?
    Anonymous » » в форуме IOS
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Как установить исходный цвет фона окон Mac Catalyst?
    Anonymous » » в форуме IOS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Приложение Mac Catalyst Crashed на других Mac, но работает при запуске из Xcode
    Anonymous » » в форуме IOS
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Приложение Mac Catalyst Crashed на других Mac, но работает при запуске из Xcode
    Anonymous » » в форуме IOS
    0 Ответы
    290 Просмотры
    Последнее сообщение Anonymous
  • Как установить альтернативный значок в приложении Mac Catalyst?
    Anonymous » » в форуме IOS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»