【发布时间】:2015-01-09 18:43:32
【问题描述】:
我正在尝试在我的 iOS 应用程序中使用自定义图像作为后退按钮。当我使用以下代码时,我在后退按钮中看到一条无法解释的行。
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), forBarMetrics: .Default)
var backImage: UIImage = UIImage(named: "back-button")!
var barBackBtnImg: UIImage = backImage.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 14, 0, 0))
UIBarButtonItem.appearance().setBackButtonBackgroundImage(barBackBtnImg, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
附上现在的截图。
如果我删除
var barBackBtnImg: UIImage = backImage.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 14, 0, 0))
看起来像这样:
请帮忙。提前致谢。
【问题讨论】:
-
发生这种情况是因为您告诉它它可以调整大小。您提供的 cap insets 导致操作系统抓取最右边的像素并拉伸它们。
-
请查看已编辑的问题。我尝试删除可调整大小的代码。
-
后退按钮将强制插入大写以尝试“很好地”拉伸您的图像。如果您希望您的图像位于特定位置,您可以执行以下两项操作之一:为按钮设置一个空图像,然后将箭头添加为按钮的
UIImageView子视图并按照您喜欢的方式放置它;或者您可以在图像边缘添加透明填充并允许其拉伸。