[英]Set NSButton size in NSStackView
我使用此代码以编程方式创建按钮
let button: NSButton = NSButton()
button.action = #selector(ViewController.eject)
button.bezelStyle = .texturedSquare
buttons.append(button)
stackView.addView(buttons[i], in: .leading)
我想设置 (x, y) position 和这些按钮的大小。 例如,我想将它们的宽度设置为填充整个空间。 我尝试了多种解决方案:
button.frame = CGRect(x: 0.0,y: 0.0,width: 100.0,height: 100.0)
和 arguments 一起玩,但它们的大小仍然没有改变。 然后我尝试将它们作为SubViews
添加到stackView
,但显然它们彼此重叠。 有什么建议吗?
要修复这些按钮,您首先必须修改 storyboard 中的 StackView 元素。 Go 到 storyboard 的菜单并像这样修改
通过“填充”分布,您可以让按钮填充堆栈视图的整个宽度。 使用“间距”,您可以定义每个按钮之间必须有多少空间。
然后你 go 那里
要给按钮一些空间,只需使用 Edge Insets 值即可。 然后将水平拥抱属性设置为 250。
您要做的最后一件事是将此代码添加到您的 ViewController 文件中。
button.setContentHuggingPriority(NSLayoutConstraint.Priority.init(1), for: .horizontal)
button.translatesAutoresizingMaskIntoConstraints = false
这样,您将按钮的水平 Hugging Propriety 设置为 1。
这是我创建的按钮
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.