UISearchBar 中的 CANCEL 需要很长时间

Posted

技术标签:

【中文标题】UISearchBar 中的 CANCEL 需要很长时间【英文标题】:CANCEL in UISearchBar taking a real long time 【发布时间】:2014-02-15 23:04:56 【问题描述】:

在 UITableView 中点击 UISeachBar 上的取消按钮会永远循环,并继续消耗内存。这是我的条件和发现。

1) 为表格的背景视图使用自定义视图 2) 从核心数据中检索到的一长串项目 3) 开始搜索,输入几个字母——一切OK。我得到了我需要的结果 4) 点击取消 - 等待开始

我使用 CPU 分析器进行调试,发现它卡在了对 [layoutsbelowifneeded] 的调用中。

我删除了带有背景图像的自定义视图,一切正常。

发生这种情况的任何原因?

更新:

这是我正在使用的代码:

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

【问题讨论】:

您究竟是如何为表格视图添加背景图像的? UIImage *image=[UIImage imageNamed:@"tableview_background.png"]; UIImageView *view=[[UIImageView alloc] initWithImage:image]; wltvc.tableView.backgroundView=view;@sangony 你用什么方法调用该代码? 【参考方案1】:

无需创建自定义视图即可将背景添加到 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 也可以有同样的代码

以上是关于UISearchBar 中的 CANCEL 需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章

更改UIsearchbar 的背景和cancel按钮(转)

如何将UISearchBar上"Cancel"按钮改为”取消“?

更改 UISearchBar 内 CLEAR 按钮的 Tint 颜色 NOT CANCEL BUTTON

UISearchBar 中不显示取消按钮

使用 Monotouch 在 UISearchBar 上更改“取消”按钮的文本?

在 UISearchBar 中设置文本字段