IOS對話框UIAlertView
1 //修改彈出對話框的樣式 2 alertView.alertViewStyle = UIAlertViewStylePlainTextInput; 3 4 //根據(jù)索引獲取指定的某個(gè)文本框 5 [alertView textFieldAtIndex :0] 6 [alertView textFieldAtIndex :0].text = her.name; 7 8 //通過UIAlertView的代理來監(jiān)聽對話框中的按鈕的點(diǎn)擊事件 9 //實(shí)現(xiàn)UIAlertView的 10 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 代理方法
實(shí)例代碼:
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 //記錄當(dāng)前點(diǎn)擊行的行號 9 alertView.tag = indexPath.row; 10 [alertView show] 11 } 12 13 #pragma mark - alertView的代理方法 14 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger) buttonIndex{ 15 //判斷點(diǎn)擊的是哪個(gè)按鈕 16 if(buttonIndex ==1){ 17 //獲取文本框中的數(shù)據(jù) 18 NSString *name = [alertView textFieldAtIndex:0].text; 19 20 //修改模型數(shù)據(jù) 21 //根據(jù)行號,獲取當(dāng)前點(diǎn)擊行的模型數(shù)據(jù) 22 CZHero *hero = self.heros[alertView.tag]; 23 hero.name = name; 24 25 //重新刷新TableView數(shù)據(jù) 26 //重新刷新整個(gè)TableView,UITableView會重新向 datasource請求數(shù)據(jù) 27 //重新調(diào)用數(shù)據(jù)源方法 28 //[self.tableView reloadData];//不好重新刷新整個(gè)TableView 29 30 //局部刷新 31 //創(chuàng)建一個(gè)indexPath對象 32 NSIndexPath *path = [NSIndexPath indexPathForRow:alertView.tag inSection:0]; 33 34 [self.tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationLeft]; 35 } 36 }

浙公網(wǎng)安備 33010602011771號