Вы можете добавить еще Binding
в свой modifier
:
@Binding var visible: Bool
, затем связать его с непрозрачностью кнопки:
.opacity(visible ? 1 : 0)
, затем добавить еще State
дляпроверка textField
:
@State var showClearButton = true
И, наконец, обновить текстовое поле:
TextField("Some Text", text: $someBinding, onEditingChanged: { editing in
self.showClearButton = editing
}, onCommit: {
self.showClearButton = false
})
.modifier( ClearButton(text: $someBinding, visible: $showClearButton))