Создать пользовательский интерфейс, похожий на интерфейс редактирования контактов iOS - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь создать UITableView, где пользователь может удалять и добавлять ячейки.Эта таблица будет выглядеть аналогично таблице при попытке изменить контакты в приложении контактов iOS.

data cell is editable

Когда пользователь нажимает на изображение «+»выше создается новая ячейка (ячейка с заполнителем "home" и "Phone" на изображении).Давайте назовем ее «ячейкой данных».

Насколько я понимаю, ячейка данных находится в «редактируемом» состоянии, и поэтому я могу удалить ее.

Вот моя попытка создатьячейка данных:

 guard let dataCell = self.tableView.dequeueReusableCell(withIdentifier: "dataCell") else {
        self.log.error("error getting cell with reusableID plainCell")
        return UITableViewCell()
    }

dataCell.setEditing(true, animated: true)
dataCell.textLabel?.text = "Some text"
dataCell.editingAccessoryType = .detailButton
return dataCell

Вот как выглядит моя мина:

data cell is not editable

Как видите, моя ячейка данныхне редактируетсяПочему dataCell.setEditing(true, animated: true) не работает?Это даже правильный подход?

1 Ответ

0 голосов
/ 10 апреля 2019

Я использую Эврика , чтобы сделать это.Это довольно просто, вам просто нужно сделать что-то вроде этого.

import Eureka

class ViewController: FormViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "Multivalued Examples"
        form +++
            MultivaluedSection(multivaluedOptions: [.Insert, .Delete]) {
                $0.tag = "textfields"
                $0.addButtonProvider = { section in
                    return ButtonRow(){
                        $0.title = "Add New Tag"
                    }.cellUpdate { cell, row in
                        cell.textLabel?.textAlignment = .left
                    }
                }
            $0.multivaluedRowToInsertAt = { index in
                return NameRow() {
                    $0.placeholder = "Tag Name"
                }
            }
            $0 <<< NameRow() {
            $0.placeholder = "Tag Name"
        }
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...