私の UISearchbar には、目に見えるキャンセル ボタンがあります。
self.searchBar.showsCancelButton = YES;
私がする時
[self.searchBar resignFirstResponder];
キャンセル ボタンが機能しなくなる (有効 = NO)
このハックを使用して、キャンセル ボタンを強制的に有効にしています (カテゴリ オンUISearchbar
):
-(UIButton *)cancelButton
{
for (UIView *v in self.subviews) {
for (UIView *subview in v.subviews) {
if ([subview isKindOfClass:[UIButton class]])
{
return (UIButton *)subview;
}
}
}
ELog(@"Couldn't find cancel button");
return nil;
}
しかし、それは合法的な方法ではないようです。より良い方法はありますか?