ここに解決策があります。
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var searchFieldText: NSSearchField!
@IBOutlet weak var labelSearchText: NSTextField!
@IBAction func searchFieldButton(_ sender: NSSearchField) {
if searchFieldText.stringValue != "" {
//My code. For example:
labelSearchText.stringValue = searchFieldText.stringValue
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let cellMenu = NSMenu(title: "Search Menu")
var item: NSMenuItem!
item = NSMenuItem(title: "Clear", action: nil, keyEquivalent: "")
item.tag = Int(NSSearchFieldClearRecentsMenuItemTag)
cellMenu.insertItem(item, at: 0)
item = NSMenuItem.separator()
item.tag = Int(NSSearchFieldRecentsTitleMenuItemTag)
cellMenu.insertItem(item, at: 1)
item = NSMenuItem(title: "Recent Searches", action: nil, keyEquivalent: "")
item.tag = Int(NSSearchFieldRecentsTitleMenuItemTag)
cellMenu.insertItem(item, at: 2)
item = NSMenuItem(title: "Recents", action: nil, keyEquivalent: "")
item.tag = Int(NSSearchFieldRecentsMenuItemTag)
cellMenu.insertItem(item, at: 3)
searchFieldText.searchMenuTemplate = cellMenu
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
ありがとうございました。
あなたがする必要があるのは、その 'UIView'に' tap-gesture' **アクション**を追加することです。 [ここ](https://stackoverflow.com/a/32480721/5175709)を参照してください。実際には、** target-action **という非常に重要な概念があります。ターゲットは通常UIVIewです。このアクションは、ビューがタップされるとトリガーされる関数です。 – Honey
なぜ知りたいですか? – Willeke
@ハニーあなたの情報をありがとうございますが、私の質問は、os xアプリのためであり、iOSではありません。 –