假设我的NSSscreen.main size是2560 X 1415如果我创建一个NSWindow并将Size设置为500 X 500它会在屏幕中创建一个窗口并显示它,我试图知道使NSWindow在屏幕中更改其大小的最小值是什么,我试图将宽度从500更改为500.1,但它不起作用,如果我们查看CGRect,它有Origen和Size,我们可以使用Double或CGFloat Type,但实际上NSWindow只使用Int类型,所有类型都在内部转换为Int!因此,在这种情况下,1 Int意味着1 Pixel,我们不能在NSWindow中更新size或origin时使用小于1像素或小于1.0,对吗?
1条答案
按热度按时间23c0lvtd1#
真实的的类型是Double。
NSWindow帧也向上舍入到下一个最大的整数值(参见
NSIntegralRect
)。结果(实数和true)类型仍然是Double。这些是以点而不是像素来衡量的。NSWindow被优化为在点边界上操作。NSViews可以有分数帧,但在NSWindow级别,它被扩展到下一个整数点。但它仍然是一个Double。