iOS UIAlertController代码流控制
当首先调用此方法时,执行if块,然后执行UIAlertController,这样我可以得到一个未确定的结果,这样任何人都可以解决此问题,并使其按顺序工作iOS UIAlertController代码流控制,ios,uialertcontroller,Ios,Uialertcontroller,当首先调用此方法时,执行if块,然后执行UIAlertController,这样我可以得到一个未确定的结果,这样任何人都可以解决此问题,并使其按顺序工作 有人能告诉我为什么视图控制器不是最后触发的,而不是第一触发的吗?presentViewController同步完成一个操作-函数立即返回,这意味着_baba不会是yes,因此函数返回false。当用户稍后选择一个选项时,将执行该块。您需要从函数中返回false,然后根据需要直接清除块中的文本字段谢谢,伙计,效果很好 -(bool)textFie
有人能告诉我为什么视图控制器不是最后触发的,而不是第一触发的吗?presentViewController同步完成一个操作-函数立即返回,这意味着_baba不会是yes,因此函数返回false。当用户稍后选择一个选项时,将执行该块。您需要从函数中返回false,然后根据需要直接清除块中的文本字段谢谢,伙计,效果很好
-(bool)textFieldShouldClear:(UITextField *)textField
{
UIAlertController * blert = [UIAlertController alertControllerWithTitle:@"your alert" message:@"are you sure you want to clear" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction * defautact = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){
NSLog(@"tao on YES");
// click= YES;
_baba =@"yes";
}];
UIAlertAction * defautact1 = [UIAlertAction actionWithTitle:@"cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action){
NSLog(@"Press on YES");
// click= NO;
//field1.text=@"";
_baba=@"no";
}];
[blert addAction:defautact];
[blert addAction: defautact1];
[self presentViewController:blert animated:YES completion:nil];
if([_baba isEqualToString:@"yes"])
{
return true;
}
else
{
return false;
}
}