如何在Xamarin iOS中为UIImageView设置静态高度和宽度

问题描述

因此,我正在为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;

任何输入都会有所帮助

enter image description here

解决方法

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;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...