美文网首页
iOS 13 UISearchBar的 这句代码UITextFi

iOS 13 UISearchBar的 这句代码UITextFi

作者: 王家小雷 | 来源:发表于2020-03-02 11:34 被阅读0次

iOS 13 UISearchBar的 这句代码UITextField *searchField = [self.searchBar valueForKey:@"_searchField"]...
2019.09.25 16:48:36
崩溃的原因就是因为这句代码

UITextField *searchField = [self.searchBar valueForKey:@"_searchField"];

因为iOS13禁止textfield通过KVC的方式获取或者设置textfield的私有属性,因此我们需要做下修改:

NSString *version = [UIDevice currentDevice].systemVersion;

  if (version.doubleValue >= 13.0) {

      // 这里是对 13.0 以上的iOS系统进行处理

      UITextField *searchField;

      NSUInteger Views = [self.searchBar.subviews count];

      for(int i = 0; i < Views; i++) {

        if([[self.searchBar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) {

            searchField = [self.searchBar.subviews objectAtIndex:i];

        }

      }

     //这里设置相关属性

  } else {

      // 这里是对 13.0 以下的iOS系统进行处理

      UITextField *searchField = [self.searchBar valueForKey:@"_searchField"];

       //这里设置相关属性

  }

相关文章

网友评论

      本文标题:iOS 13 UISearchBar的 这句代码UITextFi

      本文链接:https://www.haomeiwen.com/subject/nlmpkhtx.html