У меня есть игра для iPhone, в которой игроки могут твитнуть свои результаты.Для этого я использую TWTweetComposeViewController.
Поскольку загрузка листа Twitter может занять некоторое время, я бы хотел, чтобы слой «loading ...» появлялся после того, как игрок нажал кнопку твита, ожидаяДолжен появиться лист Twitter.
Моя проблема в том, что слой (названный "colcol" в приведенном ниже коде) отображается только после того, как лист твита готов!Как будто слой ждал, пока лист твита не будет готов к показу.Что, безусловно, не то, что я ожидаю.
Есть идеи почему?
Спасибо!
Вот функция tweetScore, вызываемая, когда пользователь касается CCMenuItemImage:
- (void) tweetScore: (CCMenuItem *) menuItem {
colcol=[CCLayerColor layerWithColor:ccc4(0,0, 0, 200) width:50 height:50];
colcol.position=ccp(winSize.width/2-25,winSize.height/2-25);
[self addChild:colcol z:15];
if ([TWTweetComposeViewController canSendTweet])
{
TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
[tweetSheet setInitialText:[NSString stringWithFormat:@"I scored %d!", playerScore]];
tweetSheet.completionHandler = ^(TWTweetComposeViewControllerResult result) {
[appDelegate.viewController dismissModalViewControllerAnimated:YES];
switch (result) {
case TWTweetComposeViewControllerResultCancelled:
[self removeChild:colcol cleanup:YES];
break;
case TWTweetComposeViewControllerResultDone:
[[GCHelper sharedInstance] reportAchievementIdentifier:@"tweet_score" percentComplete:100.0];
[self removeChild:colcol cleanup:YES];
break;
default:
[self removeChild:colcol cleanup:YES];
break;
}
};
[appDelegate.viewController presentModalViewController:tweetSheet animated:YES];
}
else
{
// handle this case
}
}