如何计算NSButton的中心?

时间:2011-04-05 18:34:06

标签: iphone objective-c cocoa cocoa-touch nsbutton

我不确定如何找到按钮的中心:

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

将frame.x和frame.y分开不起作用

2 个答案:

答案 0 :(得分:2)

正确的方法是:

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 :(得分:1)

您想要做的是:

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

使用边界将返回(0,0)原点,只考虑按钮的大小。使用框架也将提供原点。

编辑:对不起,我的代码是一个可怜的可可/核心图形混合。