点击表格行时显示警报视图

时间:2011-07-12 15:50:06

标签: objective-c ios cocoa-touch uitableview uialertview

我有一个包含字符串列表的表视图,如下所示:

String1
String2
String3
String4

我想将其中一个设为默认值,即当用户点击“String3”时,会弹出一个警告视图,询问他们是否要将该项目设为默认值。

如何在表格视图控制器中实现此警报视图?

2 个答案:

答案 0 :(得分:2)

首先,您需要定义一个实例变量来跟踪当前选择的字符串。在你的头文件中这样的东西会很好。

NSString *selectedString;

接下来,在你的tableView:didSelectRowAtIndexPath:delegate方法中创建一个警报视图。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    selectedString = [stringArray objectAtIndex:indexPath.row];

    NSString *title = [NSString stringWithFormat:@"Make %@ default?", selectedString];

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:@"" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
    [alert show];
    [alert release];
}

要在用户点按提醒中的按钮后保存该值,您应该使用UIAlertView委托。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   if (buttonIndex == 2)
   {
     //Do something with selectedString here
   }
}

答案 1 :(得分:0)

我没有足够的声誉来评论这里。但你的if语句应该是:

   if (buttonIndex == 1)
   {
     //Do something with selectedString here
   }

也就是说,如果要在单击“是”按钮时执行某些操作。无论如何,感谢快速教程,除了那个轻微的错字它完美地工作。