Xamarin Studio:将UIimageView添加到UIView中
本文关键字:UIView 添加 UIimageView Studio Xamarin | 更新日期: 2023-09-27 18:29:35
我想在视图中添加一个imageview,但图像没有显示。我的代码出了什么问题?感谢您的帮助。
...Constructor(UIImage _pickedImage......
UIImageView iv = new UIImageView (this.Bounds);
iv.Image = this.pickedImage;
this.AddSubview (iv);
iv.Release ();
您的代码片段很短,但您应该不要调用iv.Release ();
,因为您会使本机(ObjC)UIImageView
实例的引用计数不平衡。
事实上,您几乎不必自己调用此方法,因为Xamarin.iOS有一个垃圾收集器(GC),它将在处理对象时自动调用release
选择器(就像创建托管实例时调用retain
一样)。
我今天遇到了这个问题,发现这个问题还没有正确的答案来解决它。所以为了以后的参考,我将解释我是如何解决它的。
我循环浏览一个包含图像的列表,如item
所示。首先,创建UIImageView
UIImageView imageView = new UIImageView();
然后我获取图像的字节数组,并将其转换为UIImage
UIImage image = Utilities.ToImage(item.ImageBytesArray);
然后,使用UIImage 设置UIImageView
imageView.Image = image;
接下来是什么解决了我的主要问题,没有出现。因此,我们将获得屏幕大小并将其存储在screen
中
var screen = UIScreen.MainScreen.Bounds;
设置UIImageView的框架。这将创建可以看到的UIImageView。为了不与其他内容重叠,我与顶部的偏移量必须为400CGRect(xOffset, yOffset, width, height)
imageView.Frame = new CoreGraphics.CGRect(0, 400, screen.Size.Width, 300);
我使用滚动视图,所以我将其添加到其中。也可以是this
scrollView.Add(imageView);
UIImageView imageView=新建UIImageView()
UIImage image=Utilities.ToImage(item.ImageBytesArray)
imageView.Image=图像
var screen=UIScreen.MainScreen.Bounds
imageView.Frame=新的CoreGraphics.CGRect(0,400,screen.Size.Width,300)
scrollView.Add(imageView);