NSSearchToolbarItem
的默认宽度太大。我希望它类似于Notes应用程序。
有官方的方法吗
控件具有属性preferredWidthForSearchField
,但这没有任何效果,这也可能是许多Big Sur错误之一。
经典但不推荐使用的minSize
和maxSize
设置似乎有效,但随后控件失去了根据可用工具栏空间自动调整大小的能力。
也许不是最好的方法,但这似乎有效:
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