IOS对话框UIAlertView

 1 //修改弹出对话框的样式
 2 alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
 3 
 4 //根据索引获取指定的某个文本框
 5 [alertView textFieldAtIndex :0]
 6 [alertView textFieldAtIndex :0].text = her.name;
 7 
 8 //通过UIAlertView的代理来监听对话框中的按钮的点击事件
 9 //实现UIAlertView的 
10 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 代理方法

实例代码:

 1 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
 2     CZHero *hero = self.heros[indexPath.row];
 3     UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitels:@"确定",nil];
 4 
 5     alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
 6     [alertView textFieldAtIndex:0].text = hero.name;
 7 
 8     //记录当前点击行的行号
 9     alertView.tag = indexPath.row;
10     [alertView show]
11 }
12 
13 #pragma mark - alertView的代理方法
14 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger) buttonIndex{
15     //判断点击的是哪个按钮
16     if(buttonIndex ==1){
17         //获取文本框中的数据
18         NSString *name = [alertView textFieldAtIndex:0].text;
19 
20         //修改模型数据
21         //根据行号,获取当前点击行的模型数据
22         CZHero *hero = self.heros[alertView.tag];
23         hero.name = name;
24 
25         //重新刷新TableView数据
26         //重新刷新整个TableView,UITableView会重新向 datasource请求数据
27         //重新调用数据源方法
28         //[self.tableView reloadData];//不好重新刷新整个TableView
29        
30         //局部刷新
31         //创建一个indexPath对象
32         NSIndexPath *path = [NSIndexPath indexPathForRow:alertView.tag inSection:0];
33 
34         [self.tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationLeft];
35     }
36 }

 

posted @ 2015-05-26 09:22  王世桢  阅读(499)  评论(0编辑  收藏  举报