我在我的AppDelegate斯威夫特如何改變backIndicatorImage的位置和大小
UINavigationBar.appearance().backIndicatorImage = #imageLiteral(resourceName: "backarrow")
得到這個代碼和該代碼顯示了這樣的事情
我如何可以調整和改變位置的形象?
我在我的AppDelegate斯威夫特如何改變backIndicatorImage的位置和大小
UINavigationBar.appearance().backIndicatorImage = #imageLiteral(resourceName: "backarrow")
得到這個代碼和該代碼顯示了這樣的事情
我如何可以調整和改變位置的形象?
嗨,你能實現它的方式如下: -
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
,這裏是將圖像尺寸調整功能
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
}
哦,謝謝!沒有創建一個新的按鈕 – sakoaskoaso
@sakoaskoaso對不起,我把它命名不正確,我會更新它並將其命名爲backImage –
你必須改變一個自定義的按鈕。 定義一個UIBarButtonItem
並用您的自定義按鈕替換默認的一個。
var customButton = UIBarButtonItem(image: closeButtonImage, style: .plain, target: self, action: #selector(YourController.backPressed(_:)))
self.navigationItem. backBarButtonItem = customButton
如何實現回去? – sakoaskoaso
在推新視圖控制器之前或之後,我會執行它嗎? – sakoaskoaso
您可以創建一個自定義的NavigationController,它可以在'UINavigationController'子類中定義或在prepareForSegue中定義它。如果你在'UIViewController'的'viewDidLoad'中設置了這個參數,我不確定它會起作用,但你可以試試。 – Maxime
只需使用自定義UIBarButtonItem
並隱藏默認的一個。
let backButton = UIBarButtonItem(image: UIImage(named: "Your_Back_Button_Image", style: .plain, target: self, action: #selector(popCurrentViewController)
self.navigationItem.setHidesBackButton(true, animated: true)
self.navigationItem.leftBarButtonItem = backButton
要實現後面的功能:
func popCurrentViewController(_ animated: Bool)
{
_ = self.navigationController?.popViewController(animated: true)
}
我推後右? – sakoaskoaso
您只需在推送的控制器中實現它,並在其上顯示自定義後退按鈕。 – PGDev
問您的設計師適當的圖像 – zombie
這可能有助於獲得正確的圖像大小'UIBarButtonItem.appearance()。setBackButtonTitlePositionAdjustment(UIOffsetMake(0,-80.0),forBarMetrics:.Default)' – zombie