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

iOS 13 UISearchBar的 这句代码UITextFi

作者: iOS门三闫 | 来源:发表于2019-09-25 16:48 被阅读0次

    崩溃的原因就是因为这句代码

    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/jvhwuctx.html