我目前正在编写一个具有uibutton的应用程序,该应用程序允许用户在数据库中发送评论。
我在我的按钮中创建了许多条件来显示一些UialertView,如果某些字段为空。
我也使用以下方法: - (void)myAlert3:(UIAlertView *)myAlert3 didDismissWithButtonIndex:(NSInteger)buttonIndex
但是当我打电话给它时,我没有反应也没有记录。 我读了很少的stackoverflow文章,但没有一个与我合作。
这是我的代码:
-(IBAction)addData:(id)sender{
///////////////////////////ALERTE SI LE PSEUDO/COMMENTAIRE EST VIDE////////////////////////////////////////////
if ((![_pseudo.text length]) || (![_pseudo.text length]))
{
UIAlertView *myAlert1 = [[UIAlertView alloc]initWithTitle:@"Alerte"message:@"Merci de renseigner le Pseudo" delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles: nil];
[myAlert1 show];
}
else if ((![_comment.text length]) || (![_comment.text length]))
{
UIAlertView *myAlert2 = [[UIAlertView alloc]initWithTitle:@"Alerte"message:@"Merci d'écrire votre commentaire" delegate:nil cancelButtonTitle:@"Okay " otherButtonTitles: nil];
[myAlert2 show];
}
///////////////////////////FIN ALERTE SI LE PSEUDO/COMMENTAIRE EST VIDE////////////////////////////////////////////
///////////////SI PSEUDO EST SUPERIEUR A 3 ET COMMENTAIRE A 10 ON EXECUTE LA METHODE///////////////////////////////
else if (_pseudo.text.length > 3 && _comment.text.length > 10)
{
//Message alerte pour confirmation envoie
UIAlertView *myAlert3 = [[UIAlertView alloc] initWithTitle:@"Confirmation" message:@"En appuyant sur OUI vous acceptez de façon inconditionnelles les termes EULA d'Apple" delegate:self cancelButtonTitle:@"Non" otherButtonTitles:@"Oui", nil];
[myAlert3 show];
}
}
和方法:
- (void)myAlert3:(UIAlertView *)myAlert3 didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{ NSLog(@"button no");
_pseudo.hidden=NO;
_comment.hidden=NO;
}
if (buttonIndex == 1)
{
NSLog(@"button yes");
_pseudo.hidden=YES;
_comment.hidden=YES;
//_up.hidden=YES;
}
}
我也试过了willDismissWithButtonIndex和clickedButtonAtIndex方法,但没什么用。
感谢' S
答案 0 :(得分:3)
我认为您的错误在于alertview委托方法的名称。
你必须使用:
- (void)alertView:(UIAlertView *)myAlert3 didDismissWithButtonIndex:(NSInteger)buttonIndex
而不是:
- (void)myAlert3:(UIAlertView *)myAlert3 didDismissWithButtonIndex:(NSInteger)buttonIndex
您可以更改参数名称,但如果更改了委托方法的名称,则代码无法正常工作。