我有一个令人费解的问题。我有一个指向在笔尖中初始化的香草 NSView 的指针。我向 NSView 发送消息:
[myNSView setFrame:NSMakeRect(0,0,816,1056)];
但是当我通过调试器时,myNSView
有一个{{0,0}, {801, 1041}}
. 矩形的尺寸比我指定的小 15!这种情况始终如一地发生。如果我[setFrames]
连续指定两个,一切正常,但这当然不是答案。
为什么会setFrame
失败?
15px 正好是 NSRegularControlSize 的 NSScroller 的大小。
我的猜测是您将 NSScrollView 配置为自动隐藏滚动条。
尝试在 NIB 中关闭你的 scrollView 的水平和垂直滚动条,如果这样可以解决问题,你就会知道从那里看哪里。它与 scrollView 的 clipView 自动调整 documentView 的大小有关。当滚动条出现时,clipView 本身正在自动调整大小;在您将 documentView 设置为需要滚动条的 frameSize (我猜是 100% 设置)之后直接。