问题描述
因此,我正在为Picker定制Customrenderer,在其中需要在Picker的右侧放置一个图像,我能够做到这一点,但是图像尺寸太大,如何设置静态尺寸
我尝试这样做,但是我不确定自己是否走对了
Control.BorderStyle = UITextBorderStyle.None;
var downarrow = UIImage.FromBundle(element.PickerImageSource);
Control.Rightviewmode = UITextFieldviewmode.Always;
var imgView = new UIImageView(downarrow);
imgView.Frame = new CoreGraphics.CGRect(0.1,0.1,0.1);
Control.RightView = imgView;
解决方法
UIImageView
有一个ContentMode属性控制在视图范围更改时必须如何渲染视图的缓存位图。
在 ContentMode Enum 中,有一个ScaleAspectFit
使图像适合UIImageView的框架。
缩放内容,使所有内容可见,同时保留宽高比。任何未填充的区域将变为透明。
因此,您可以通过添加以下属性来修改代码:
Control.BorderStyle = UITextBorderStyle.None;
var downarrow = UIImage.FromBundle(element.PickerImageSource);
Control.RightViewMode = UITextFieldViewMode.Always;
var imgView = new UIImageView(downarrow);
imgView.Frame = new CoreGraphics.CGRect(0.1,0.1,0.1);
// modify here
imgView.ContentMode = UIViewContentMode.ScaleAspectFit;
Control.RightView = imgView;