2016-11-11 70 views
1

我将我的UISearchBar放置在导航栏中。当我点击栏时,它会自动展开并显示取消按钮。如果您在该字段中键入内容,然后点击键盘上的“搜索”,则会关闭显示结果的键盘。但在这一刻,我遇到了一个很大的问题:取消按钮现在被禁用(灰色),如果我点击它,首先打开键盘,然后再次点击取消退出搜索。是否可以保持取消按钮始终处于活动状态,以便我可以直接点击它退出搜索?当键盘在iPad上消失时,UISearchBar取消按钮被禁用

+0

的可能的复制[禁用的UISearchBar取消按钮的自动停用(http://stackoverflow.com/questions/4348351/uisearchbar-disable-auto-disable-of-cancel-button) –

回答

1
searchBar.showsCancelButton = YES; 

您可以在UISearchBar上创建另一个自定义按钮。

for (UIView *subView in searchBar.subviews) { 
     if([subView isKindOfClass:[UIButton class]]) { 

      UIButton *cancelButton = (UIButton *)[searchBar.subviews lastObject]; 
      //Make changes to the cancelButton here 
      [cancelButton setEnabled:YES]; 

     } 
    } 
+1

是的,在最终我以这种方式做到了。但我觉得这不是一个干净的方式。另一个问题是:为什么取消按钮在特定情况下会自动禁用? –