Мне нужно получить центральную точку NSView в виде CGPoint, как я могу это достичь? Я в основном ищу эквивалент UIKit, UIView.center
Получение центральной точки NSView
Ответ 1
Этот код предоставит вам CGPoint:
CGPointMake((myView.frame.origin.x + (myView.frame.size.width / 2)),
(myView.frame.origin.y + (myView.frame.size.height / 2)))
Ответ 2
Простой и понятный способ:
CGPointMake(NSMidX(myView.frame), NSMidY(myView.frame))
Я бы предложил сделать этот код, категорию в NSView с единственным свойством чтения с именем center
.
Ответ 3
Чтобы получить NSPoint центра, вы можете просто получить x-координату начала координат и добавить (width/2) и получить y-координату начала координат и добавить (height/2). Затем вы можете преобразовать его в CGPoint.
Ответ 4
Но это верно только тогда, когда nsview не было повернуто. После того, как начало вращения перемещено, а центральная точка, приведенные выше вычисления неверны.