UIBarButtonItem backButtonBackgroundImage:被拉伸
UIBarButtonItem backButtonBackgroundImage: gets stretched
我正在使用 UIAppearance
设置自定义 backButtonBackgroundImage
以及隐藏后退按钮标题:
// Back Button Image
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"ZSSBackArrow"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -100) forBarMetrics:UIBarMetricsDefault];
效果很好,但问题是我的箭头图像真的被水平拉伸了:
它应该是这样的:
更新:使用 cap inset 使图像看起来像这样:
有没有办法防止图片被拉伸?
更改图片的帽内嵌,使图片符合您的要求:
UIImage *barButtonImage = [[UIImage imageNamed:@"ZSSBackArrow"] resizableImageWithCapInsets:UIEdgeInsetsMake(0,width,0,0)];
这将使图像的宽度保持为您指定的宽度。
您可能需要稍微调整一下数字才能恰到好处。
使用背景图片属性 强制拉伸。尝试使用图像 属性 并尝试使用图像 inset/offset 将图像放置在您想要的位置。
我正在使用 UIAppearance
设置自定义 backButtonBackgroundImage
以及隐藏后退按钮标题:
// Back Button Image
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"ZSSBackArrow"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -100) forBarMetrics:UIBarMetricsDefault];
效果很好,但问题是我的箭头图像真的被水平拉伸了:
它应该是这样的:
更新:使用 cap inset 使图像看起来像这样:
有没有办法防止图片被拉伸?
更改图片的帽内嵌,使图片符合您的要求:
UIImage *barButtonImage = [[UIImage imageNamed:@"ZSSBackArrow"] resizableImageWithCapInsets:UIEdgeInsetsMake(0,width,0,0)];
这将使图像的宽度保持为您指定的宽度。
您可能需要稍微调整一下数字才能恰到好处。
使用背景图片属性 强制拉伸。尝试使用图像 属性 并尝试使用图像 inset/offset 将图像放置在您想要的位置。