2011-12-29 80 views
0

我已经有很少的对象在视图中,我想检测空间(例如[myObject frame] - 5px)是否空闲。如何检测对象周围的空闲空间

现在我必须检测当我的对象被点击,但我如何检测可用空间?

NSString *currPuzzle = [NSString stringWithFormat:@"%d", currentPuzzle]; 
currentObject = [puzzleArray objectForKey:currPuzzle]; 
currentObjectFrame = [currentObject frame]; 
currentObjectCenter = [currentObject center]; 

int left = currentObjectFrame.origin.x - 1; 
int right = currentObjectFrame.origin.x + 1; 
int top = currentObjectFrame.origin.y - 1; 
int bottom = currentObjectFrame.origin.y + 1; 

我不知道如何解决它。

有什么想法吗?

+0

您是否确实需要检测“自由空间”,每次点击一个对象时,您知道它不在该空闲空间中? – 2011-12-29 15:07:33

+0

是的。我看到对象,我点击一个,我必须检查左边的空间是否可用于在此空闲空间中移动此对象 – 2011-12-29 15:12:50

+1

frame属性是相对于superview坐标系统的“NSRect”。如果你知道超级视图的框架,你可以比较你的对象的框架。 – 2011-12-29 15:16:16

回答

0

好吧我解决它。我创建了一个临时的矩形,并且检测到了这个矩形的相交。一切都很好。