2015-12-14 78 views
1

我已經成功集成了Chartboost獎勵視頻,它可以工作,但我希望實現在用戶完全觀看獎勵視頻時將增加積分的代碼。我試圖在應用程序委託中實現,它調用它,但由於一些內部函數,我需要在特定的視圖控制器中實現。所以,當我把相同的代碼與Chartboost集成objective-c

-(void)didCompleteRewardedVideo:(CBLocation)location 
        withReward:(int)reward { 

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Really reset?" message:@"hi ?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; 
    // optional - add more buttons: 
    [alert addButtonWithTitle:@"Yes"]; 
    [alert show]; 


} 

如果我實現特定視圖控制器代替的appdelegate這個代碼警報視圖將不會出現。我認爲它沒有在視圖控制器中調用,因爲它沒有響應。我需要幫助來實現視圖控制器

+0

使用uialertcontroller而不是uialertview。你需要顯示你在哪裏調用上述方法 –

回答

0

爲了進行UI更改,您應該在主隊列中調用它。

dispatch_async(dispatch_get_main_queue(), ^{ 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Really reset?" message:@"hi ?" delegate:self  cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; 
// optional - add more buttons: 
      [alert addButtonWithTitle:@"Yes"]; 
      [alert show]; 

     }); 

或者您可以傳遞視圖的代表並在其上顯示警報。

-(void) DisplayMessage:(NSString*)message withDelegate:(id)delegate 
{ 
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Title" 
               message:message delegate:delegate 
            cancelButtonTitle:nil 
            otherButtonTitles:@"Ok", nil]; 
[alert show]; 
} 
+0

的代碼,但我的問題是如何確保調用void。 – katie

+0

我沒有明白你的意思。你想確保這個方法(didCompleteRewardedVideo)被調用並返回? – ozgur

+0

對不起誤會 – katie