首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS:自定义回退按钮图像太小了

iOS:自定义回退按钮图像太小了
EN

Stack Overflow用户
提问于 2022-04-25 00:00:15
回答 1查看 93关注 0票数 0

我在控制器中有一个自定义UINavigationController和下面的代码来提供自定义回退按钮图像:

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-25 02:25:05

您可以使用UIGraphicsImageRenderer来调整原始图像的大小,请尝试以下代码。

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71993287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档