Swift 如何放大NSSearchField上的搜索图标?
我正在创建一个高度大于默认值的搜索字段。虽然其文本大小可以增加到适当的大小,但图标的大小保持不变: 我试图通过覆盖Swift 如何放大NSSearchField上的搜索图标?,swift,macos,cocoa,Swift,Macos,Cocoa,我正在创建一个高度大于默认值的搜索字段。虽然其文本大小可以增加到适当的大小,但图标的大小保持不变: 我试图通过覆盖NSSearchField的rectForSearchButton(whenCenter:)的默认矩形来解决这个问题。但是,它不仅没有增加按钮的大小,而且还复制了按钮图像 override func rectForSearchButton(whenCentered isCentered: Bool) -> NSRect { return NSRect(x: 10, y
NSSearchField
的rectForSearchButton(whenCenter:)
的默认矩形来解决这个问题。但是,它不仅没有增加按钮的大小,而且还复制了按钮图像
override func rectForSearchButton(whenCentered isCentered: Bool) -> NSRect {
return NSRect(x: 10, y: 10, width: 30, height: 30)
}
然后,我尝试对上述内容进行注释,并对NSSearchFieldCell
进行子类化,结果类似
override func searchButtonRect(forBounds rect: NSRect) -> NSRect {
return NSRect(x: 10, y: 10, width: 30, height: 30)
}
如何正确居中并放大此图标?我希望它填满整个空间并居中,或者至少看起来像一个普通的搜索字段。您需要更改按钮图像的缩放比例。假设您的自定义类是从Storyboard/XIB实例化的,并且高度是通过constraint修改的,它可能如下所示:
class CustomSearchFiled: NSSearchField {
override func awakeFromNib() {
if let cell = self.cell as? NSSearchFieldCell {
cell.searchButtonCell?.imageScaling = .scaleProportionallyUpOrDown
}
}
...