2010-06-08 3 views
0

Я использовал Facebook SDK в своем приложении. После того, как я нажал «Добавить канал на стену», появится предупреждение «YES» или «NO». Если я выберу «ДА», FBStreamDialoy просто погаснет.FaceBook Проблемы с UIAlertView

Во-первых, нажмите кнопку "Добавить канал в стене" для вызова changeFeed: Функция:

-(IBAction) changeFeed 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sporting Summer Festival Monte-Carlo" message:@"Are you attending this concert?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes",nil]; 
    [alert show]; 
    alert.tag = 1; 
    self.alertView =alert; 
    [alert release]; 

} 

Затем нажмите кнопку "ДА". Вызов этой функции:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 0) { 
     NSLog(@"NO"); 
    } 
    else 
    { 
     NSLog(@"YES"); 
     [self showAddFeed]; 
    } 

} 

И это showAddFeed функция, которая определяется перед clickButtonAtIndex.

-(void)showAddFeed 
{ 
FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] autorelease]; 
    dialog.delegate= self; 
    dialog.userMessagePrompt = @"*****"; 
     [dialog show]; 
} 

Просто не могу хорошо работать. Я не знаю почему? Спасибо за помощь.

------------ Ответ --------------------------

[self performSelector:@selector(fbButtonClick) withObject:nil afterDelay:0.10]; 

ответ

1

Назовите его после задержки 0,1 с [self performSelector: @selector (fbButtonClick) withObject: nil afterDelay: 0.10];

0

Проблема заключается в том, что вы слушаете:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

Что должно быть:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 

Поскольку в функции clickedButtonAtIndex вид не закрыт, и это может вызвать проблемы.

Edit: Чтобы заставить его работать в прошивке 4 добавить свой facebook логин вызова метода и вызвать следующую функцию в didDismissWithButtonIndex:

[самоуправления performSelectorOnMainThread: @selector (facebookOpenAction) withObject: ноль waitUntilDone: НЕТ ];