0

このシーンのアプリがあります:

UIViewController:

  • UISearchBar
  • UITableView

これが構造です。UIViewController の内部では、searchBar をシーンの上部に配置して (常に上部に) 固定できるように、両方のコンポーネントが分離されています。画面の高さを超えるのに十分

スクリーンショット (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