UISearchBar 动画有问题。
状态栏打开时动画有问题。否则没关系。我以编程方式创建了表格视图和搜索栏。uisearchbar 位于 tableview 的 headerview 中。保持这种状态很重要。当您使用情节提要时,我知道它可以正常工作。
我创建了一个非常基本的示例项目,因为我认为这是向您展示问题的最简单方法。我花了几个小时来找到解决方案,但我就是想不通。任何帮助将不胜感激。
这是示例项目的链接:SearchBarProject!
UISearchBar 动画有问题。
状态栏打开时动画有问题。否则没关系。我以编程方式创建了表格视图和搜索栏。uisearchbar 位于 tableview 的 headerview 中。保持这种状态很重要。当您使用情节提要时,我知道它可以正常工作。
我创建了一个非常基本的示例项目,因为我认为这是向您展示问题的最简单方法。我花了几个小时来找到解决方案,但我就是想不通。任何帮助将不胜感激。
这是示例项目的链接:SearchBarProject!
我找到
self.navigationController.navigationBar.translucent = YES;
让我的动画少了错误
我认为这是 IOS 7 错误。Apple 提供了一个uitableview 搜索示例应用程序。完成编辑搜索栏时也有同样的问题。IOS 6没有任何问题
只需向 UISearchBar 添加一个子层并更改视图的背景颜色即可使动画几乎完美
- (void) searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller {
self.view.backgroundColor = RGB(199,199,204);
self.fixSearchAnimation = [[UIView alloc] initWithFrame:CGRectMake(0, -20,320, 40)];
self.fixSearchAnimation.backgroundColor = RGB(199,199,204);
[self.searchController.searchBar addSubview:self.fixSearchAnimation];
[self.searchController.searchBar sendSubviewToBack:self.fixSearchAnimation];
}
- (void) searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller {
self.view.backgroundColor = [UIColor whiteColor];
[self.fixSearchAnimation removeFromSuperview];
}
在慢速模式下,您仍然可以在搜索栏原始子视图和新视图之间看到一条细线,但对用户来说并不是很明显,如果这打扰了您,您可以深入 UISearchbar 的视图层次结构并将视图放入正确的位置。