如何设置NSSearchToolbarItem的初始宽度



NSSearchToolbarItem的默认宽度太大。我希望它类似于Notes应用程序。

有官方的方法吗

控件具有属性preferredWidthForSearchField,但这没有任何效果,这也可能是许多Big Sur错误之一。

经典但不推荐使用的minSizemaxSize设置似乎有效,但随后控件失去了根据可用工具栏空间自动调整大小的能力。

也许不是最好的方法,但这似乎有效:

searchToolbarItem.searchField.addConstraint(NSLayoutConstraint(item: searchToolbarItem.searchField, attribute: .width, relatedBy: .lessThanOrEqual, toItem: nil, attribute: .width, multiplier: 1, constant: 200) )
searchToolbarItem.searchField.addConstraint(NSLayoutConstraint(item: searchToolbarItem.searchField, attribute: .width, relatedBy: .greaterThanOrEqual, toItem: nil, attribute: .width, multiplier: 1, constant: 30) )

Swift 5基于已经给出的答案。

let search = NSSearchToolbarItem()
search.searchField.widthAnchor.constraint(equalToConstant: 200).isActive = true

相关内容

  • 没有找到相关文章

最新更新