私はMonobjcとMonoを使用して、ユーザーが画像を拡大できるアプリケーションを開発しています。最初の画像は正常に表示されます。ただし、ユーザーが次の画像に移動すると、背景が白の空白で表示されます。また、後続の画像も空白で表示されます。これで、同じアプリを10.6と10.7で実行すると、画像が完全に表示されます。
を設定するために私が書いた追加のコードはありませんIKImageView
。InterfaceBuilderで設定されていますが、それだけです。私のコードは-
//ImgeData is the binary format of the image.
NSData data = new NSData(ImageData);
NSBitmapImageRep imageRep = new NSBitmapImageRep(data);
NSImage image = new NSImage(new NSSize(imageRep.PixelsWide, imageRep.PixelsHigh));
image.AddRepresentation(imageRep);
image.Retain();
NSData imgDat = image.TIFFRepresentation;
if(imgDat != null)
{
var imgSrc = CGImageSource.CreateWithData(imgDat, null);
var imgRef = CGImageSource.CreateImageAtIndex(imgSrc, 0, null);
if (_ikImageView == null)
{
return;
}
_ikImageView.SetImageImageProperties(imgRef,null);
CGImage.Release(imgRef);
}
更新-空白の領域に手を見ることができることに気づきました。画像が隠れている可能性はありますか?
その他の更新-マイウィンドウにはNSViewが含まれ、NSViewにはIKImageViewが含まれます。これで、IKImageView全体が白いパッチに置き換えられました。しかし、その領域上でマウスを動かすと、手が上がっているのが見えます。これは、画像がレンダリングされているが、IKImageViewがそれ自体を表示できないことを示しています。