I cant figure out which UITextField
is currently active so i can clear its text if they hit cancel on a UIBarButtonItem
. Here is my code. There is
In order to improve @Reimond's answer Swift 4
extension UIView {
var textFieldsInView: [UITextField] {
return subviews
.filter ({ !($0 is UITextField) })
.reduce (( subviews.compactMap { $0 as? UITextField }), { summ, current in
return summ + current.textFieldsInView
})
}
var selectedTextField: UITextField? {
return textFieldsInView.filter { $0.isFirstResponder }.first
}
}
usage:
view.selectedTextField