我的UISearchBar动画有问题。
状态栏打开时动画有问题。否则没关系。 我以编程方式创建了tableview和搜索栏。 uisearchbar位于tableview的标题视图中。保持这种状态非常重要。当你使用故事板时,我知道它的工作正常。
我创建了一个非常基本的示例项目,因为我认为这是向您展示问题的最简单方法。 我花了几个小时才找到解决方案,但我无法弄明白。任何帮助将不胜感激。
以下是示例项目的链接:SearchBarProject!
答案 0 :(得分:2)
我找到了
self.navigationController.navigationBar.translucent = YES;
让我的动画减少错误
答案 1 :(得分:1)
我认为这是IOS 7的错误。 Apple提供了uitableview search example个应用程序。编辑搜索栏时也有同样的问题。使用IOS 6没有任何问题
答案 2 :(得分:-1)
只需在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的视图层次结构并放入视图位于正确的位置。