我在控制器中有一个自定义UINavigationController和下面的代码来提供自定义回退按钮图像:
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相比,back映像(这是一个PDF资产)太小了。事实上,如果我使用与RightBarButtonItem相同的PDF格式,它就会更大。
是否可以配置后退按钮图像的大小,使其看起来正常?
最低支持操作系统版本为15.4。
发布于 2022-04-25 02:25:05
您可以使用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);https://stackoverflow.com/questions/71993287
复制相似问题