UISearchBar
中添加一个简单的UIViewController
UINavigationController
self.navigationController.navigationBar.barTintColor = [UIColor clearColor];
点按前:
点击搜索栏后:
问题出现在任何颜色上,但使用附加照片中的[UIColor clearColor]
可以更轻松地查看问题。
任何解决方案都会很棒,虽然我更喜欢比每次隐藏导航栏标题和按钮更优雅的东西。
只有在viewdidLoad
中使用以下代码时才会发生此错误:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
答案 0 :(得分:0)
我想我曾经遇到过同样的问题。如果您正在使用故事板,请检查所有插座是否已设置:
修复了动画......
答案 1 :(得分:0)
我最终使用的解决方法:
- (BOOL)prefersStatusBarHidden
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return self.searchDisplayController.isActive;
return NO;
}
这种方式在用户搜索时会隐藏状态栏。
答案 2 :(得分:0)
有完全相同的问题,并且修复结果是一行:
self.searchDisplayController.searchBar.translucent = NO;
答案 3 :(得分:0)
我遇到了同样的问题。以下代码有效:
self.edgesForExtendedLayout = UIRectEdgeTop;