热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS13自定义UISearchBar_searchField崩溃

如何解决《iOS13自定义UISearchBar_searchField崩溃》经验,为你挑选了1个好方法。

在新的iOS 13中,尝试使用以下方法更改UISearchBar textField属性时发生崩溃 valueForKey:@"_searchField"

现在看来,苹果已经改变了一些东西。

我已经使用以下自定义方法创建了UIView的子类,现在看来可以了!

- (UIView *)findSubview:(NSString *)name resursion:(BOOL)resursion
{
    Class class = NSClassFromString(name);
    for (UIView *subview in self.subviews) {
        if ([subview isKindOfClass:class]) {
            return subview;
        }
    }

    if (resursion) {
        for (UIView *subview in self.subviews) {
            UIView *tempView = [subview findSubview:name resursion:resursion];
            if (tempView) {
                return tempView;
            }
        }
    }

    return nil;
} 

您可以简单地以这种方式调用此方法来更改UITextField属性:

UITextField *textField = (UITextField*)[self findSubview:@"UITextField" resursion:YES];

显然,这是一个Objective-c片段,如果有人知道如何快速编写相同的代码,则可以将其添加到答案中。

编码愉快!



1> 小智..:

我不确定是否有帮助,但是UISearchBar具有新searchTextField属性,允许您访问其UISearchTextField以及UITextField:

let searchBar = UISearchBar()
var searchField : UITextField
if #available(iOS 13.0, *) {
    searchField = searchBar.searchTextField
} else {
    searchField = //Your original method
}


推荐阅读
author-avatar
飞轶尘埃_130
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有