1

Finder では、NSSearchfield が最初にフォーカスされるとキャンセル ボタンが消えますが、検索フィールドに何かを入力すると、クリックしない限りキャンセル ボタンが常に表示されます。 .しかし、何もないところまで単語を1つずつ削除すると、最終的にキャンセルボタンが消えます.nssearchfieldのデフォルトの動作のようですが、どうすればデフォルトの動作を変更できますか? 助けてください、ありがとう!

4

1 に答える 1

3

キャンセル ボタンに直接アクセスできます。

迅速

let searchField = NSSearchField()

// Change the button:
if let cell = searchField.cell as? NSSearchFieldCell,
    let cancelButton = cell.cancelButtonCell {
    // Here you can access all properties of a NSButtonCell
}

// Hide the button:
searchField.cell?.cancelButtonCell = nil

オブジェクティブ C

NSSearchField* searchField = [NSSearchField new]

// Change the button:
NSSearchFieldCell* cell = searchField.cell
NSButtonCell* cancelButton = cell.cancelButtonCell
if (cancelButton) {
    // Here you can access all properties of a NSButtonCell
}

// Hide the button:
searchField.cell.cancelButtonCell = nil
于 2016-12-13T18:34:11.557 に答える