在按钮上使用FFImageLoading时如何设置内容模式

时间:2019-05-28 14:33:45

标签: ios xamarin.ios ffimageloading

使用FFImageLoading库设置图像时,无法在按钮上使用内容模式。我想将模式设置为ScaleAspectFill。

我尝试设置button.imageview以及按钮本身的内容模式。

button.ContentMode = UIViewContentMode.ScaleAspectFill;
button.ImageView.ContentMode = UIViewContentMode.ScaleAspectFill;
ImageService.Instance.LoadUrl(image_url).Into(button);

图片未缩放,显示为ScaleAspectFit而不是Fill

1 个答案:

答案 0 :(得分:0)

设置按钮的ImageView的ContentMode将调整图像的表示形式。

我使用下面的代码显示了两个按钮。一个已经设置了ContentMode,而另一个没有:

UIButton btn = new UIButton(UIButtonType.Custom);
btn.Frame = new CoreGraphics.CGRect(50, 100, 100, 40);

btn.ImageView.ContentMode = UIViewContentMode.ScaleAspectFill;
ImageService.Instance.LoadUrl("https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE1Mu3b?ver=5c31").Into(btn);

UIButton btn2 = new UIButton(UIButtonType.Custom);
btn2.Frame = new CoreGraphics.CGRect(50, 200, 100, 40);
ImageService.Instance.LoadUrl("https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE1Mu3b?ver=5c31").Into(btn2);

View.AddSubview(btn);
View.AddSubview(btn2);

它们有不同的效果:

enter image description here

第一个按钮没有足够的宽度来显示此图像,因此由于内容模式的配置,它会剪切左右边缘。但是第二个按钮会拉伸图像以适合整个空间。两个按钮的大小相同。