我有一个包含 NSImageView 的 NSScrollView,它会根据各种因素调整大小。当它调整大小时,我通常会更改图像,所以我将 NSScrollView 滚动到顶部。这工作正常。但是,当我再次开始滚动 NSScrollView 时,它会移动几个像素,然后(大部分时间)跳到滚动的底部。跳转一次后,它会正常工作,直到我再次将滚动条移到顶部。这让我发疯。我真正要做的是:
[_imageView setImage: anNSImage];
NSRect frame;
NSSize imageSize = [anNSImage] size];
frame.size = imageSize;
frame.origin = NSZeroPoint;
[_imageView setFrame: frame];
[[_mainScrollview contentView] scrollToPoint: NSMakePoint(0, [_imageView frame].size.height - [_mainScrollview frame].size.height)];