В Xcode, если вы попытаетесь создать новый файл, он спросит вас, где его сохранить. Есть эта кнопка, которую вы можете нажать, чтобы развернуть представленный лист:
Я пытаюсь создать что-то похожее на эту кнопку, которая увеличит NSViewController
, представленную с переходом на лист. Обратите внимание, что я не пытаюсь создать свою собственную версию NSSavePanel
. Я просто пытаюсь использовать это в качестве примера, чтобы проиллюстрировать поведение кнопки, которую я хочу создать.
Я знаю, что могу установить preferredContentSize
на что-то большее, чтобы увеличить лист:
preferredContentSize = CGSize(width: 300, height: 300)
Но это сразу меняет размер, в отличие от кнопки в диалоге сохранения файла, которая показывает анимацию увеличения листа.
Я попытался поместить его в блок анимации:
NSAnimationContext.runAnimationGroup { (context) in
context.duration = 1
preferredContentSize = CGSize(width: 300, height: 300)
}
Но происходит то же самое.
Я почти уверен, что в NSViewController
должен быть метод или что-то в этом роде, который я не могу найти...
NSSavePanel
. Я просто пытаюсь воссоздать поведение кнопки вNSSavePanel
, а именно увеличение листа с анимацией. - person Sweeper   schedule 02.08.2019self.view.window?.setFrame(NSRect(x: 0, y: 0, width: 100, height: 100), display: true, animate: true)
- person Ckacmaster   schedule 03.08.2019NSWindow
, потому что я думал, чтоview.window
относится к фактическому окну (с тремя виджетами в левом верхнем углу и прочим), а не к листу. - person Sweeper   schedule 03.08.2019