美文网首页
UITableView

UITableView

作者: xiaocaoera | 来源:发表于2019-10-13 13:40 被阅读0次

    右侧索引

    - (NSArray *)sectionIndexTitlesForTableView: (UITableView *) tableView {

    return @[@"haha",@"lala"]

    }

    当选中某一行时弹出输入弹框

    - (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath

    {

        // NSLog(@"%d 被选中", indexPath.row);

        // 0获得选中行的模型

        NJHero*hero =self.heros[indexPath.row];

        // 1.创建一个弹窗

        UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"修改数据" message: nil delegate: self cancelButtonTitle: @"取消" otherButtonTitles: @"确定",nil]; 

        // 设置alert的样式, 让alert显示出uitextfield

        alert.alertViewStyle = UIAlertViewStylePlainTextInput;

        // 获取alert中的textfield

        UITextField*textField =  [alerttextFieldAtIndex:0];

        // 设置数据到textfield

        textField.text= hero.name;

        // 2.显示弹窗

        [alertshow];

        // 通过aler的tag来传递选中的行号

        alert.tag= indexPath.row;

    }

    #pragma mark - UIAlertViewDelegate

    // alertView的按钮被点击的时候就会调用

    - (void)alertView: (UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

        // NSLog(@"buttonIndex = %d", buttonIndex);

        if(0== buttonIndex)return;

        // 必定不是点击的取消

        // 获取修改后的数据

         UITextField *textField =  [alertViewtextFieldAtIndex:0];

        NSString *newStr = textField.text;

        NSLog(@"newStr = %@", newStr);

        // 修改模型

        // 取出对应行的模型数据

        introw = alertView.tag;

        NJHero*hero =  self.heros[row];

        hero.name= newStr;

        // 刷新指定行

        NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:0];

        [self.tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationRight];

    }

    相关文章

      网友评论

          本文标题:UITableView

          本文链接:https://www.haomeiwen.com/subject/kbaujctx.html