4

我正在为 iOS 7 更新我的应用程序,并且我的一项功能允许激活搜索栏搜索按钮而搜索栏中没有文本停止工作。我使用了以下代码。关于如何使它再次工作的任何建议?提前致谢。

UITextField *searchBarTextField = nil;
for (UIView *subview in self.searchBar.subviews)
{
    if ([subview isKindOfClass:[UITextField class]])
    {
        searchBarTextField = (UITextField *)subview;
        break;
    }
}
searchBarTextField.enablesReturnKeyAutomatically = NO;
4

3 回答 3

5

在 iOS 7 中有一个小的变化,现在你必须迭代两个级别。

  for (UIView *subView in self.searchBar.subviews){
    for (UIView *secondLeveSubView in subView.subviews){
    if ([secondLeveSubView isKindOfClass:[UITextField class]])
        {
            searchBarTextField = (UITextField *)2ndLeveSubView;
            break;
        }
    }
   }
于 2013-09-24T08:21:10.807 回答
5

搜索栏上直接有 enableReturnKeyAutomatically 选项。

searchbar.enablesReturnKeyAutomatically = NO;
于 2016-05-26T15:20:23.570 回答
1

这是使用 Swift 的解决方案。只需将其粘贴到您的 viewDidLoad 函数中,并确保您在代码中有一个 searchBar 的 IBOutlet。(在我下面的示例中,inputSearchBar 变量是 IBOutlet)

   // making the search button available when the search text is empty
    var searchBarTextField : UITextField!
    for view1 in inputSearchBar.subviews {
        for view2 in view1.subviews {
            if view2.isKindOfClass(UITextField) {
                searchBarTextField = view2 as UITextField
                searchBarTextField.enablesReturnKeyAutomatically = false
                break
            }
        }
    }
于 2015-01-28T07:18:04.937 回答