【问题标题】:Back button custom image后退按钮自定义图像
【发布时间】: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 子视图并按照您喜欢的方式放置它;或者您可以在图像边缘添加透明填充并允许其拉伸。

标签: ios swift ios7 xcode6


【解决方案1】:

这对我有用!!!

var backImage: UIImage = UIImage(named: "back-button")!
backImage = backImage.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = backImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage

【讨论】:

    猜你喜欢
    • 2012-01-05
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多