Ipad的导航栏景观问题(Ipad NavigationBar Landscape Issue)

2019-10-18 08:16发布

有没有使用不同的图像为iPad横向/纵向模式的方法吗? 我的导航栏包含在中间的标志,同时对不同图像iphone的伟大工程,我不能为iPad,当你打开设备使用不同的图像,使标识不居中。

或者,我可以用一个简单的背景图像,并可能与图像代替导航栏标题或中心按钮,但我也无法做到,要么。 (我没有一个UINavigationController子类)。

这里是我的代码是这样做的伎俩到目前为止应用程序的委托里面:

if ([UINavigationBar respondsToSelector:@selector(appearance)]) {

        // Create resizable images for iphone
        UIImage *navbarImage44 = [[UIImage imageNamed:@"nav_bar"]
                                  resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

        UIImage *navbarImage32 = [[UIImage imageNamed:@"nav_bar_landscape"]
                                  resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

        // Overide for iPad
        // In theory navbar_bg_landscape~iPad should work
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            //use iPad specific image extending last pixel for landscape mode
            [[UINavigationBar appearance] setBackgroundImage:[[UIImage imageNamed:@"nav_bar_ipad" ]
                                 resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]
                                               forBarMetrics:UIBarMetricsDefault];

        }else {

            // Set the background image for *all* UINavigationBars
            [[UINavigationBar appearance] setBackgroundImage:navbarImage44
                                               forBarMetrics:UIBarMetricsDefault];

            // Never called on iPad, used for landscape on iPhone
            [[UINavigationBar appearance] setBackgroundImage:navbarImage32
                                               forBarMetrics:UIBarMetricsLandscapePhone];
        }



    }

Answer 1:

我没有得到这个任何回应,所以我发现周围的工作是要调整对景观的形象。 我确定与现在。 我调整我的肖像的背景图片 - 这是我为iPad代码

  // Create resizable images UIImage *ipadTabBarBG = [[UIImage imageNamed:@"nav_bar_ipad.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, -260, 0, 0)]; // Set the background image for *all* UINavigationBars [[UINavigationBar appearance] setBackgroundImage:ipadTabBarBG forBarMetrics:UIBarMetricsDefault]; 


文章来源: Ipad NavigationBar Landscape Issue