更改弹出窗口高度并取消隐藏新区域
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
}
早上好,
我有这个小例子(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
}