0

ポップオーバーに UIActionSheet を表示する必要があり、このポップオーバーには Cocos2D の要素を指す矢印があります。

UIActionSheet が表示されるディレクター ビューの座標に関して、この要素の boundingBox rect を計算する必要があるため、アクション シートの矢印はそれを指します。

それ、どうやったら出来るの?

4

1 に答える 1

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];
于 2012-06-15T02:02:36.643 に答える