我正在开发一个iOS应用程序,我有点陷入尝试实现UIAlertView,当你按下按钮时突然弹出,当你按下" OK&#34时会触发一个segue ; UIAlertView中的选项。
我的观点回到上一个屏幕,它没有打开一个新的屏幕。
我会发布一些代码,以便您了解我是如何解决此问题的:
-(void)buyProduct{
BOOL succeed = [json objectForKey:@"succeed"];
if(succeed){
// [self.navigationController popViewControllerAnimated:YES];
}
}
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
UIAlertView * alerta = [[UIAlertView alloc] initWithTitle:@"Èxit"
message:@"La compra ha finalitzat amb èxit!"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
NSString *string = [alerta buttonTitleAtIndex:buttonIndex];
if ([string isEqualToString:@"OK"])
{
[self.navigationController popViewControllerAnimated:YES];
}
}
我坚持的是:我怎么能告诉应用程序它必须在" if(success)"之后启动UIAlertView。条件满足了吗?我不能仅仅使用[self someMethod],因为下面的方法在其定义上有变量。
有什么建议吗?
答案 0 :(得分:2)
您需要在主队列上调用popViewControllerAnimated:
:
dispatch_sync(dispatch_get_main_queue(), ^{
[self.navigationController popViewControllerAnimated:YES];
});