我也是新的iOS。在我的应用程序中我实现了UIAlertView
并且想要在用户点击确定按钮时再次显示alertView并且如果用户点击取消按钮则再次显示警报视图。请帮我。 TNX
这是我的代码
if (chek) {
UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"" message:@" hi " delegate:self cancelButtonTitle:@"cancel " otherButtonTitles:@"ok", nil];
[alertView show];
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
NSString *buttontitle=[alertView buttonTitleAtIndex:buttonIndex];
if ([buttontitle isEqualToString:@"ok"]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sibche2://showapp/7030"]];
chek=!chek ; }
else if ([buttontitle isEqualToString:@"cancel "]){
NSLog(@"hello my friend");
chek=chek;
}
答案 0 :(得分:1)
首先,您应该使用UIAlertController,因为不推荐使用UIAlertView。 然后你应该看一下UIAlertView的这个委托方法:
//单击按钮时调用。此调用返回后,视图将自动关闭
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
在这里,您可以检查单击了哪个按钮而不比较字符串而是比较索引。
如果您想使用UIAlertView,可以使用:
//show alert whenever you need to
[[[UIAlertView alloc]initWithTitle:@"Title" message:@"Your error message here" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil]show];
//handle button click
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{
NSLog(@"Cancel action");
}
else if (buttonIndex == 1)
{
NSLog(@"OK action");
}
}
如果您想使用AlertController,可以使用:
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Title" message:@"Your error message here" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction
actionWithTitle:NSLocalizedString(@"Cancel", @"Cancel action")
style:UIAlertActionStyleCancel
handler:^(UIAlertAction *action)
{
NSLog(@"Cancel action");
}];
UIAlertAction *okAction = [UIAlertAction
actionWithTitle:NSLocalizedString(@"OK", @"OK action")
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action)
{
NSLog(@"OK action");
}];
[alertController addAction:cancelAction];
[alertController addAction:okAction];
[self presentViewController:alertController animated:YES completion:nil];
我希望这会有所帮助。
答案 1 :(得分:0)
确保您拥有iOS 8的等效代码,使用上述行可能无法在iOS 8上按预期工作。