1

ビューにイメージビューを追加したいのですが、画像が表示されません。私のコードの何が問題なのですか? ご協力ありがとう御座います。

 ...Constructor(UIImage _pickedImage......

UIImageView iv = new UIImageView (this.Bounds);
iv.Image = this.pickedImage;
this.AddSubview (iv);
iv.Release ();
4

2 に答える 2

1

コード スニペットはかなり短いですが、ネイティブ (ObjC)インスタンスの参照カウントのバランスを崩すので、呼び出すべきではありません。iv.Release ();UIImageView

実際、Xamarin.iOS にはガベージ コレクター (GC) があり、オブジェクトを破棄するときにセレクターを自動的に呼び出すため (マネージド インスタンスの作成時に行われるように)、このメソッドを自分で呼び出す必要はほとんどありません。releaseretain

于 2013-08-30T15:23:38.843 に答える
1

今日、この問題に遭遇しましたが、この質問には解決方法に関する適切な回答がまだありませんでした。したがって、今後の参考のために、どのように解決したかを説明します。

として示されている画像を含むリストをループします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 が作成されます。他のコンテンツと重ならないように、上からのオフセットを 400 にする必要がありました。
CGRect(xOffset, yOffset, width, height)

imageView.Frame = new CoreGraphics.CGRect(0, 400, screen.Size.Width, 300);

私はスクロールビューを使用しているので、それに追加します。することもできますthis

scrollView.Add(imageView);

UIImageView imageView = new UIImageView();
UIImage image = Utilities.ToImage(item.ImageBytesArray);
imageView.Image = 画像;
var screen = UIScreen.MainScreen.Bounds;
imageView.Frame = new CoreGraphics.CGRect(0, 400, screen.Size.Width, 300);
scrollView.Add(imageView);

于 2015-06-23T15:12:12.470 に答える