Как я могу рассчитать центр NSButton? - PullRequest
0 голосов
/ 05 апреля 2011

Я не уверен, как найти центр моей кнопки:

spinner = [[EKActivityIndicatorView alloc] initWithFrame:CGRectMake([followButton bounds].origin.x/2, [followButton bounds].origin.y/2, 16, 16)];

Разделение frame.x и frame.y не помогает

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Правильный способ сделать это:

CGRectMake(CGRectGetMidX([followButton frame]), CGRectGetMidY([followButton frame]), 16, 16)

В качестве альтернативы правильная формула:

CGRect frame;
CGPoint center;
frame = [view frame];
center.x = frame.origin.x + (frame.size.width / 2);
center.y = frame.origin.y + (frame.size.height / 2);
1 голос
/ 05 апреля 2011

То, что вы хотите сделать, это:

CGRectMake(NSMidX([followButton frame], NSMidY([followButton frame]), 16, 16)

Использование границ вернет (0,0) для источника, только с учетом размера кнопки. Использование рамки также обеспечит источник.

Редактировать: извините, мой код является гибридом графики с какао и ядром.

...