1

我有一个令人费解的问题。我有一个指向在笔尖中初始化的香草 NSView 的指针。我向 NSView 发送消息:

[myNSView setFrame:NSMakeRect(0,0,816,1056)];

但是当我通过调试器时,myNSView有一个{{0,0}, {801, 1041}}. 矩形的尺寸比我指定的小 15!这种情况始终如一地发生。如果我[setFrames]连续指定两个,一切正常,但这当然不是答案。

为什么会setFrame失败?

4

1 回答 1

4

15px 正好是 NSRegularControlSize 的 NSScroller 的大小。

我的猜测是您将 NSScrollView 配置为自动隐藏滚动条。

尝试在 NIB 中关闭你的 scrollView 的水平和垂直滚动条,如果这样可以解决问题,你就会知道从那里看哪里。它与 scrollView 的 clipView 自动调整 documentView 的大小有关。当滚动条出现时,clipView 本身正在自动调整大小;在您将 documentView 设置为需要滚动条的 frameSize (我猜是 100% 设置)之后直接。

于 2009-05-08T22:26:05.677 回答