获得NSView的中心点

foo*_*512 12 macos cocoa nsview

我需要以CGPoint的形式获得NSView的中心点,我该如何实现?我基本上在寻找相当于UIKit,UIView.center的东西

lms*_*lms 17

一种简单易读的方法是:

CGPointMake(NSMidX(myView.frame), NSMidY(myView.frame))
Run Code Online (Sandbox Code Playgroud)

我建议使用名为的只读属性来创建此代码,这是NSView上的一个类别center.

  • 为NSMidX +1,不建议将其命名为"中心".在NSWindow上已经存在一个 - (void)中心方法,所以可能会解决错误,这是一个相当明显的名称,因此Apple也可能会使用它,但可能会稍微改变它并且事情会破裂. (2认同)

Reg*_*an 15

这段代码将为您提供CGPoint:

CGPointMake((myView.frame.origin.x + (myView.frame.size.width / 2)),
            (myView.frame.origin.y + (myView.frame.size.height / 2)))
Run Code Online (Sandbox Code Playgroud)