使用 UISearchDisplayController 的 UISearchBar 动画问题

Posted

技术标签:

【中文标题】使用 UISearchDisplayController 的 UISearchBar 动画问题【英文标题】:UISearchBar animation issue using UISearchDisplayController 【发布时间】:2014-09-17 11:38:06 【问题描述】:

我有一个UITableViewController,其表格视图正在显示日历条目列表。 控制器以编程方式创建并嵌入在UINavigationController 中。

在视图控制器的 viewDidLoad 方法中,我正在调用另一个方法来实例化 UISearchBarUISearchDisplayController

这是执行此操作的代码:

- (void)configureSearch 
UISearchBar *searchBar = [UISearchBar new];
self.sdc = [[UISearchDisplayController alloc] initWithSearchBar:searchBar
                                             contentsController:self];

self.sdc.delegate = self;
self.tableView.tableHeaderView = searchBar;

这样做时,我看到了一个奇怪的动画问题,搜索栏在成为并退出第一响应者状态时“卡入”到位。

附加视频显示了这种行为和正常速度,并启用了慢速动画。

屏幕录像的链接是here.

任何建议将不胜感激。

【问题讨论】:

【参考方案1】:

尝试在您的UINavigationBar 上设置translucent = YES。我遇到了完全相同的问题,出于某种原因修复了它。

【讨论】:

您的建议解决了动画问题,但它给我留下了一个半透明的导航栏,这是我不想要的。【参考方案2】:

UIView 动画块中调用-[UISearchDisplayController setActive:NO animated:NO] 已经为我解决了这个问题。

【讨论】:

以上是关于使用 UISearchDisplayController 的 UISearchBar 动画问题的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)