首页 > 代码库 > IOS AlterView的使用(IOS8.0以前使用)
IOS AlterView的使用(IOS8.0以前使用)
#pragma mark - 代理方法 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // 1.取得被点击这行对应的模型 MJHero *hero = self.heros[indexPath.row]; // 弹框 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"数据展示" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; // 设置对话框的类型 alert.alertViewStyle = UIAlertViewStylePlainTextInput; // 取得唯一的那个文本框,显示英雄的名称 [alert textFieldAtIndex:0].text = hero.name; [alert show]; // 绑定行号到alertView上 alert.tag = indexPath.row; } #pragma mark - alertView的代理方法 /** * 点击了alertView上面的按钮就会调用这个方法 * * @param buttonIndex 按钮的索引,从0开始 */ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == 0) return; // 按钮的索引肯定不是0 // 1.取得文本框最后的文字 NSString *name = [alertView textFieldAtIndex:0].text; // int row = alertView.tag; // NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:0]; // UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:path]; // cell.textLabel.text = name; // 2.修改模型数据 int row = alertView.tag; MJHero *hero = self.heros[row]; hero.name = name; // 3.告诉tableView重新加载模型数据 // reloadData : tableView会向数据源重新请求数据 // 重新调用数据源的相应方法取得数据 // 重新调用数据源的tableView:numberOfRowsInSection:获得行数 // 重新调用数据源的tableView:cellForRowAtIndexPath:得知每一行显示怎样的cell // 全部刷新 // [self.tableView reloadData]; // 局部刷新 NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:0]; [self.tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationBottom]; }
IOS AlterView的使用(IOS8.0以前使用)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。