我有一个带有这个场景的应用程序:
UIViewController:
- 用户界面搜索栏
- UITableView
这就是结构,在我的 UIViewController 内部,我将两个组件分开,以允许我的 searchBar 位于场景的顶部并固定(始终在顶部),然后是我的 tableView,我这样做以防我的表的行很长足以超过我的屏幕高度
截图(iOS6):
问题是......我刚刚将我的 xCode 更新到最新版本(xCode 5),并且由于 UINavigationBar 是半透明的,因此我的 searchBar 与 NavigationController 重叠。
截图(iOS7):
问题是......我希望该屏幕兼容两个版本(iOS6X,iOS7)
我怎么做???
在此先感谢您的帮助
编辑我所要做的就是将 UINavigationBar 的半透明属性切换为 False,这是我的方法:
-(void)showSplitViewControllerInView:(UIView *)view
withDetailViewController:(id)rightViewController{
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"iPad" bundle: nil];
UINavigationController *leftNavController;
UINavigationController *rightNavController;
MainMenuVC *leftViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"MainMenuVC"];
leftNavController = [[UINavigationController alloc] initWithRootViewController:leftViewController];
rightNavController = [[UINavigationController alloc] initWithRootViewController:rightViewController];
leftNavController.toolbarHidden = FALSE;
rightNavController.toolbarHidden = FALSE;
leftNavController.navigationBar.translucent = FALSE;
rightNavController.navigationBar.translucent = FALSE;
leftNavController.toolbar.translucent = FALSE;
rightNavController.toolbar.translucent = FALSE;
UISplitViewController *splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = [NSArray arrayWithObjects:leftNavController, rightNavController, nil];
splitViewController.delegate = rightViewController;
view.window.rootViewController = splitViewController;
}
关键在这里:
leftNavController.navigationBar.translucent = FALSE;
rightNavController.navigationBar.translucent = FALSE;
最后结果: