我正在使用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,其中包含IKImageView。现在整个IKImageView被替换为白色补丁。但如果我将鼠标移到该区域上,我会看到一只手正在上升。这告诉我图像正在渲染,但IKImageView无法显示。