0

我有一个带有这个场景的应用程序:

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;

最后结果:

在此处输入图像描述

4

1 回答 1

1

使用 Xcode 5 的 iOS6/7 Deltas 功能在 IB 中为 iOS7 正确设置视图,然后在 iOS6 中正确定位。

于 2013-09-25T00:20:20.367 回答