Swift 如何更改 backIndicatorImage 的位置和大小

sak*_*aso 1 uinavigationbar swift

我的 AppDelegate 中有此代码

UINavigationBar.appearance().backIndicatorImage = #imageLiteral(resourceName: "backarrow")
Run Code Online (Sandbox Code Playgroud)

这段代码显示了这样的东西

在此处输入图片说明

如何调整图像的大小和位置?

sar*_*rza 6

嗨,您可以通过以下方式实现它:-

var backImage = UIImage(named: "backarrow")     
backImage = resizeImage(image: backImage!, newWidth: 40) //the width that you want for the back button image
UINavigationBar.appearance().backIndicatorImage = backImage
Run Code Online (Sandbox Code Playgroud)

这是图像调整大小功能

func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage? {

    let scale = newWidth / image.size.width
    let newHeight = image.size.height * scale
    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: newHeight))
    image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: newHeight))

    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return newImage
}
Run Code Online (Sandbox Code Playgroud)