UISearchBar中的“CANCEL”需要很长时间才能取消。

3
在UITableView中点击UISearchBar上的取消按钮会导致无限循环,并继续消耗内存。以下是我的情况和发现。
1)为表格的backgroundView使用自定义视图。 2)从核心数据检索到的项列表很长。 3)开始搜索,输入几个字母--一切正常。我得到了我需要的结果。 4)点击取消-等待开始。
我使用CPU分析器进行调试,并发现它卡在一个调用到[layoutsbelowifneeded]的函数中。
我删除了带有背景图像的自定义视图,一切都很好。
为什么会发生这种情况?
更新:
这是我正在使用的代码:
UIImage *image=[UIImage imageNamed:@"tableview_background.png"];
UIImageView *view=[[UIImageView alloc] initWithImage:image];
wltvc.tableView.backgroundView=view;

你是如何为表格视图添加背景图片的? - sangony
UIImage *image=[UIImage imageNamed:@"tableview_background.png"]; UIImageView *view=[[UIImageView alloc] initWithImage:image]; wltvc.tableView.backgroundView=view; - Rohit Gupta
你会在哪个方法中调用这段代码? - valheru
1个回答

0

不需要创建自定义视图来仅将背景添加到tableview中。这可以在默认的uitableviewcontroller上完成,如下所示 -

UIImage *image=[UIImage imageNamed:@"tableview_background.png"]; UIImageView *view=[[UIImageView alloc] initWithImage:image]; [view setFrame:self.tableView.frame]; self.tableView.backgroundView = view;


UISearchViewController 可以有相同的代码。 - pkaur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接