更改弹出窗口高度并取消隐藏新区域

change popover hight and unhide a new area

早上好,

我有这个小例子(swift 4 for macOS):

故事板

结果

在我的弹出窗口中有三个按钮。 我在灰色按钮上有一个 IBAction。

现在我想实现以下情况,如果我按下灰色按钮:

为了改变弹出框的高度,我尝试了这个并取得了成功:

@IBAction func buttonPressed(_ sender: NSButton) {

   self.view.window?.animator().setFrame(
   NSRect(origin: CGPoint(x: self.view.window!.frame.origin.x, y: self.view.window!.frame.origin.y), size: CGSize(width: self.view.window!.frame.width, height: self.view.window!.frame.height - 100)), display: true, animate: true)

}

我知道,我可以像这样隐藏文本字段:mytextfield.isHidden = true但是我怎样才能将两个白色按钮上移到相同位置,之前显示文本字段的位置?

将按钮的位置设置在 textField 所在的位置。

@IBAction func buttonPressed(_ sender: NSButton) {
    textField.isHidden = true
    textField2.isHidden = true
    buttonA.frame.origin.y = (textField.frame.origin.y + textField2.frame.origin.y)/2
    buttonB.frame.origin.y = (textField.frame.origin.y + textField2.frame.origin.y)/2
}