IOS開發之——私人通訊錄編輯界面(54)

一 概述

本文主要完成私人通訊錄編輯界面,包含以下功能:

  • 新建私人通訊錄編輯界面和控制器

  • 將通訊錄數據傳遞到編輯頁面

  • 編輯,取消按鈕功能

  • 保存數據返回並刷新界面

<!--more-->

二 效果圖

 

三 功能實現

3.1 將通訊錄數據傳遞到編輯頁面

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"%@",segue.destinationViewController);
    if ([segue.destinationViewController isKindOfClass:[AddViewController class]])
    {
         AddViewController *vc=segue.destinationViewController;
          vc.delegate=self;
    }else
    {
        //跳轉到編輯控制器
        EditViewController *edit=segue.destinationViewController;
        NSIndexPath *selectIndex=[self.tableView indexPathForSelectedRow];
        edit.delegate=self;
        edit.contact=self.contacts[selectIndex.row];
    }
}

3.2 編輯,取消按鈕功能

//點擊編輯按鈕
- (IBAction)edit:(UIBarButtonItem *)sender
{
    if ([sender.title isEqualToString:@"取消"])
    {
        //1.改變按鈕的文字
          sender.title=@"編輯";
          //2.允許文本框編輯
          _nameField.enabled=NO;
          _phoneField.enabled=NO;
          //3.顯示保存按鈕
          _saveBtn.hidden=YES;
          //4.彈出電話的鍵盤
        [self.view endEditing:YES];
        //恢復文本框顯示
        //給控件賦值
          _nameField.text=_contact.name;
          _phoneField.text=_contact.phone;
    }else
    {
        //1.改變按鈕的文字
        sender.title=@"取消";
        //2.允許文本框編輯
        _nameField.enabled=YES;
        _phoneField.enabled=YES;
        //3.顯示保存按鈕
        _saveBtn.hidden=NO;
        //4.彈出電話的鍵盤
        [_phoneField becomeFirstResponder];
    }
}

3.3 保存數據返回並刷新界面

//保存按鈕
- (IBAction)save:(UIButton *)sender
{
    //1.回到聯繫人界面
    [self.navigationController popViewControllerAnimated:YES];
    //2.更新數據:覆蓋舊的數據,把最新的數據展示出來
    self.contact.name=_nameField.text;
    self.contact.phone=_phoneField.text;
    //3.通知聯繫人界面刷新表格
    if ([_delegate respondsToSelector:@selector(editViewController:didUpdateContact:)])
    {
        [_delegate editViewController:self didUpdateContact:self.contact];
    } 
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章