MacOS - NSSearchField 搜索按鈕事件響應

查看NSSearchField官方文檔可知NSSearchFieldDelegate代理事件包括:

  • searchFieldDidStartSearching 搜索框已經開始輸入內容時刻。
  • searchFieldDidEndSearching 搜索框已完成輸入。

左側搜索按鈕事件和右側清空按鈕事件需要通過target-action模式綁定響應事件。

  • 如圖內容視圖上添加一個NSSearchField控件,連接控件Referencing Outlets變量到searchF變量。
    在這裏插入圖片描述
  • 首先獲取到搜索按鈕和取消按鈕,代碼如下:
        let searBtnCell = searchF.cell as! NSSearchFieldCell
        //搜索按鈕
        let searBtnActionCell = searBtnCell.searchButtonCell
        searBtnActionCell?.target = self
        searBtnActionCell?.action = #selector(searchBtnAction(_:))
        //清空按鈕
        let cancelBtnCell = searBtnCell.cancelButtonCell
        cancelBtnCell?.target = self
        cancelBtnCell?.action = #selector(cancelBtnAction(_:))
        
  • 響應事件
    @objc func searchBtnAction(_ sender: NSSearchField) {
        print("searchBtnAction =====")
        //搜索邏輯
    }
    @objc func cancelBtnAction(_ sender: NSSearchField) {
        print("cancelBtnAction =====")
        //會攔截自帶清空操作
        sender.stringValue = ""
        //清空邏輯
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章