我需要在弹出窗口上显示一个UIActionSheet,这个popover有一个箭头指向Cocos2D上的一个元素。
我需要根据将显示UIActionSheet的导演视图坐标来计算此元素的boundingBox rect,因此操作表箭头将指向它。
我该怎么做?
答案 0 :(得分:2)
这是我创建的一个快速示例,只需将UIPopoverController更改为您的UIActionSheet。
CCNode* node = (CCNode *)sender;
CGPoint worldPoint = [node convertToWorldSpace:CGPointZero];
CGRect rect = [sender boundingBox];
rect.origin = worldPoint;
// Convert position based on Apple's anchor point from cocos2d's anchor point
rect.origin.y = rect.origin.y + rect.size.height;
CGPoint convertedLocation = [[CCDirector sharedDirector] convertToUI:ccp(rect.origin.x, rect.origin.y)];
rect.origin = convertedLocation;
UIViewController* viewController= [[UIViewController alloc] init];
[[viewController view] setBackgroundColor:[UIColor greenColor]];
UIPopoverController* c = [[UIPopoverController alloc] initWithContentViewController:viewController];
[c presentPopoverFromRect:rect inView:[[CCDirector sharedDirector] view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];