首页 > 解决方案 > Xamarin.iOS:如何更改工具栏中图像的大小

问题描述

我正在使用 Xamarin.iOS。现在我必须从服务中下载图像作为工具栏项。但是,图像超出了显示区域。

在此处输入图像描述

我知道这是由于图像的大小太大。但我无法设置contentmode像 in 这样的项目UIImageView。所以有什么建议(或者可能)?

标签: xamarinxamarin.ios

解决方案


您可以在从服务中下载图像后缩放图像的大小。参考以下代码

/*
   sourceImage:the iamge that you download
   newSize the size you want ( for example 25*25)
*/
public UIImage ScalingImageToSize(UIImage sourceImage,CGSize newSize)
{

  if(UIScreen.MainScreen.Scale==2.0) //@2x iPhone 6 7 8 
    {
      UIGraphics.BeginImageContextWithOptions(newSize, false, 2.0f);
    }


  else if(UIScreen.MainScreen.Scale == 3.0) //@3x iPhone 6p 7p 8p...
    {
      UIGraphics.BeginImageContextWithOptions(newSize, false, 3.0f);
    }

  else
    {
     UIGraphics.BeginImageContext(newSize);
    }

   sourceImage.Draw(new CGRect(0, 0, newSize.Width, newSize.Height));

   UIImage newImage = UIGraphics.GetImageFromCurrentImageContext();

   UIGraphics.EndImageContext();

   return newImage;

  } 

推荐阅读