SwiftUI 3.0 для macOS: как настроить .frame для открытия на максимальном пространстве экрана

#macos #swiftui

Вопрос:

Цель: установите .кадр, чтобы он открывался на максимальном пространстве экрана

Что я сделал:

 ContentView() .frame(minWidth: 700, idealWidth: .infinity, maxWidth: .infinity, minHeight: 500, idealHeight: .infinity, maxHeight: .infinity)   

Проблема: кадр по-прежнему открывается в диапазоне minHeight и MinWidth.

Вопрос: Как я могу установить рамку, чтобы она всегда открывалась в соответствии с полным экраном пользовательского устройства?

Комментарии:

1. Я не пробовал сам, но я думаю, что это должно быть сделано таким образом, вы должны прочитать размер монитора/экрана, а затем установить этот размер в качестве кадра.

2. пробовать: .frame(minWidth: NSScreen.main?.frame.width, minHeight: NSScreen.main?.frame.height)

3. отлично, сработало! Я не могу принять это как ответ, как вы прокомментировали, не ответил. Если вы хотите, чтобы он был принят, пожалуйста, ответьте на ответ : )

Ответ №1:

вы могли бы попробовать использовать:

 .frame(minWidth: NSScreen.main?.frame.width, minHeight: NSScreen.main?.frame.height)  

работает для меня в бета-версии macos 12.1