I have a UISearchBar that has a cancel button (it\'s displayed using -(void)setShowsCancelButton:animated
). I\'ve changed the tintColor
of the sear
You can use UIAppearance
to style the cancel button without iterating subviews of the UISearchBar
, but the UIButton header does not currently have any methods annotated with UI_APPEARANCE_SELECTOR.
EDIT: Drill down the subviews till you get that cancel button
But this usually returns nil until
searchBar.setShowsCancelButton(true, animated: true)
is called.
extension UISearchBar {
var cancelButton : UIButton? {
if let view = self.subviews.first {
for subView in view.subviews {
if let cancelButton = subView as? UIButton {
return cancelButton
}
}
}
return nil
}
}