我正在使用Xamarin.iOS。现在,我必须从服务下载图像作为工具栏项目。但是,图像超出了显示区域。
我知道这是由于图像尺寸太大所致。但是我无法像contentmode
中那样设置UIImageView
项,因此有什么建议(或者可能)? / p>
答案 0 :(得分:0)
从服务下载后可以缩放图像的大小。请参考以下代码
/*
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;
}