2015-09-07 4 views
0

Сначала я не мог найти кого-либо еще, имеющего эту проблему. Работа над игрой в spritekit - есть файлы mainTitle.h/m и gamePlay.h/m. Ниже приведен код для кнопки совместного доступа, чтобы поделиться своим прогрессом через текст, fb, твиттер и т. Д. Код ниже расположен в gamePlay.m внутри сенсорного метода. Код работает, однако, после того, как пользователь выбирает отправить текстовое сообщение с его просмотром - новое окно сообщения сместится, а затем игра снова перезапустится и загрузит сцену mainTitle.m. Любые идеи относительно того, почему это происходит?Обращение с UIActivityViewController

-(void)share { 
    UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 1.0); 
    [self.view.drawViewHierarchyInRect:self.view.boundsafterScreenUpdates:YES]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    NSString *message = [NSString stringWithFormat:@"messge"]; 
    NSString *urlString = [NSString [email protected]"www..."]; 
    NSURL *gmURL = [NSURL URLWithString:urlString]; 

    UIActivityViewController *actVC = [[UIActivityViewController alloc] 
    initWithActivityItems:@[message, gmURL, image] applicationActivites:nil]; 
    actVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeAriDrop]; 

    UIViewController *viewControl = self.view.window.rootViewController; 
    [viewControl presentViewController:actVC animated:YES completion:nil]; 
} 

-(void)touchBegins ... { 
    [self share]; 
} 
+0

touchBegins - это ваш собственный метод или его недостаток - (void) touchhesBegan: (NSSet *) касается событияEvent: (UIEvent *) event {}? – slxl

+0

метод touch - всего лишь короткая ((void) touchhesBegan: (NSSet *) касается событияEvent: (UIEvent *) event {}. Я решил, что проблема заключается в методе share. Не знаете, что происходит с ошибкой? – Nick

ответ

0

Вероятно, не очень хорошая идея, чтобы вызвать метод доли в touchBegan, так как он может быть уволен несколько раз в определенных условиях. Используйте, например, UIButton

+0

Пробовал это в обоих направлениях (UIButton, и Touch Touch). Второй вызов метода несколько раз приведет к появлению меню «Активность». Пользователь должен выбрать действие после и где проблема. В тот момент, когда пользователь решает поделиться с помощью текстового сообщения - при появлении нового окна сообщения появляется сообщение о перезапуске приложения или возврате его на сцену «Название». – Nick

+0

Что представляет собой родительский класс вашего игрового поля. {H, m}? – slxl

+0

gamePlay.m является родителем – Nick

Смежные вопросы