【问题标题】:Bizarre resizing within custom fullscreen NSWindow?在自定义全屏 NSWindow 中奇怪地调整大小?
【发布时间】:2011-03-03 14:45:30
【问题描述】:

我有一个自定义子类 NSWindow,它使用 NSBordelessWindowMask 制成全屏无边框窗口。它工作得很好,据我所知,窗口本身没有任何问题或任何奇怪之处。

我想弄清楚为什么上述窗口中的自定义子类 NSView 以一种奇怪的方式响应 setFrame: 请求。而不是简单地接受请求,它们似乎正在经历某种变化——例如,将 x 坐标设置为 25 并将宽度设置为 800 不会像人们期望的那样将视图的右边缘设置为 825 .相反,宽度/高度会随着 x 和 y 坐标增长,即使当 [view frame].size.width 使用 NSLog 询问时它们会报告正确的数字。

尺寸蒙版应该不是问题,因为我已经完全禁用了它们,并且使用几种不同的配置得到了相同的结果。

有其他人经历过这种行为吗?

【问题讨论】:

  • 您能否发布一些代码,以便我们了解您是如何创建窗口和视图的?

标签: objective-c cocoa subclass nsview nswindow


【解决方案1】:

如果没有看到您用来创建窗口/视图的代码,就很难知道是什么原因造成的。也就是说,如果您稍后将目标定位为 Leopard,则有一种内置方法可以使视图全屏显示,这可能会有所帮助。方法是 NSView 上的enterFullScreenMode:withOptions:。如果您希望整个窗口全屏显示,您可以在窗口的contentView 上调用它。这可能无法修复您的错误,但它至少应该简化一些事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多