[英]How to set a static height and width for a UIImageView in xamarin iOS
所以我正在為 Picker 開發一個 CustomRenderer,其中我需要在選擇器的右側放置一個圖像,我能夠做到這一點,但是圖像尺寸太大,我如何為其設置靜態尺寸,
我試過這樣做,但我不確定我是否在正確的軌道上
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, 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, 0.1);
// modify here
imgView.ContentMode = UIViewContentMode.ScaleAspectFit;
Control.RightView = imgView;
UIViewContentMode.ScaleAspectFit 對我不起作用......但是,我想出了另一個解決方案:
var template = new UIView();
template.Frame = new CGRect(0, 0, 20, 20);
var image = new UIImageView();
image.Frame = new CGRect(0, 0, 20, 20);
image.Image = UIImage.FromBundle("ic_caret_down");
template.AddSubview(image);
Control.RightViewMode = UITextFieldViewMode.Always;
Control.RightView = template;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.