我应该使用什么尺寸将背景图像放在导航栏上

时间:2018-02-15 12:34:57

标签: ios objective-c uinavigationcontroller uinavigationbar

我正在互联网上看,我告诉他们尺寸应该是320x44和640 x 88,但我尝试了这些并且我得到了以下结果:

enter image description here

复制图像以填充导航栏的整个空间,这些正确的尺寸和成就也不包括状态栏。感谢目标C

2 个答案:

答案 0 :(得分:0)

如果您尝试添加颜色叠加自定义导航控制器并使用autolayout添加子视图。我在我的一个项目中放置了一个徽标。

答案 1 :(得分:0)

您的图片模式错误。

设置图像时,请使用以下内容为相应的填充/布局模式创建条形图像:

UIImage *barImage = [[UIImage imageNamed:@"imageName"]
                     resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)
                     resizingMode:UIImageResizingModeStretch];

现在,您可以使用UIBarMetricsDefaultUIBarMetricsDefault

设置导航栏背景图片
[[UINavigationBar appearance] setBackgroundImage:barImage forBarMetrics:(UIBarMetrics)];

OR 如果您只是在视图控制器中使用父导航控制器进行设置:

[self.navigationController.navigationBar setBackgroundImage:barImage forBarMetrics:(UIBarMetrics)];

这会将您的图像设置为具有正确大小调整的背景图像,以确保它填充整个导航栏。快乐的编码!