簡體   English   中英

Xamarin iOS:自定義后退按鈕圖像太小

[英]Xamarin iOS: Custom back button image is too small

我有一個自定義UINavigationController和該 controller 中的以下代碼以提供自定義后退按鈕圖像:

public override void PushViewController(UIViewController viewController, bool animated)
{
     base.PushViewController(viewController, animated);
        
     viewController.NavigationItem.BackButtonDisplayMode = UINavigationItemBackButtonDisplayMode.Minimal;
 }

public override void ViewWillAppear(bool animated)
{
   base.ViewWillAppear(animated);

   SetNeedsStatusBarAppearanceUpdate();
        
   var uiNavigationBarAppearance = new UINavigationBarAppearance();

   // ...
   // configure common UINavigationBarAppearance properties
   // ...

   var img = UIImage.FromBundle("back");
   uiNavigationBarAppearance.SetBackIndicatorImage(img, img);

   NavigationBar.StandardAppearance = uiNavigationBarAppearance;
}

這工作正常,但我注意到與NavigationItem.RightBarButtonItems相比,背面圖像(這是一個 PDF 資產)太小了。 事實上,如果我使用相同的 PDF 作為RightBarButtonItem ,它會更大。

是否可以配置后退按鈕圖像的大小,使其看起來正常?

PS 支持的最低操作系統版本是 15.4。

您可以使用UIGraphicsImageRenderer調整原始圖像的大小,請嘗試以下代碼。

var img = UIImage.FromBundle("back");

var factor = 1.5;   //the value you can control
var newSize = new CoreGraphics.CGSize(factor*img.Size.Width,factor*img.Size.Height);

var renderer = new UIGraphicsImageRenderer(newSize);

var image = renderer.CreateImage((context) => {
    img.Draw(new CoreGraphics.CGRect(0,0,newSize.Width,newSize.Height));
});

uiNavigationBarAppearance.SetBackIndicatorImage(image, image);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM