Регулировка размера всплывающего окна - PullRequest
0 голосов
/ 06 июня 2019

Я хотел бы создать модальное диалоговое окно, которое содержит несколько NSViews, где во время компиляции неизвестно, сколько представлений отображать. Я смог заполнить окно представлениями, но две проблемы меня удерживают. Одним из них является регулировка размера окна в зависимости от того, сколько элементов должно отображаться. Другой пост будет посвящен другой проблеме.

Я использую раскадровку для создания окна с кнопками «ОК» и «Отмена», затем добавляю к содержимому окна

Вот основные части моего кода:

class ParmViewController: NSViewController {

    static func showParmDialog()
    {
        let storyboard = NSStoryboard(name: "Main", bundle: nil)
        let windowController = storyboard.instantiateController(withIdentifier: "ParmViewController") as! NSWindowController
        let window = windowController.window!
        let viewController = window.contentViewController as! ParmViewController
        viewController.setup()
        let application = NSApplication.shared
        application.runModal(for: window)
        window.close()
    }
    let newHeight:CGFloat = 240        
    func setup() {
        print( view.frame )        // prints (0.0, 0.0, 300.0, 180.0)
        view.frame = NSRect( x: 0, y: 0, width: 300, height: newHeight )
        print( view.frame )        // prints (0.0, 0.0, 300.0, 240.0)
    }
}

Приведенный выше код не влияет на отображаемый размер окна. Представление имеет суперпредставление, которое на 22 пикселя выше этого окна - настройка его размера также не оказывает никакого влияния.

Как мне настроить размер окна на экране?

1 Ответ

0 голосов
/ 10 июня 2019

Изменение размера работает, если я переместить код на viewDidLoad().

...