Флажки, выбор действия
Maksim
#1
Всем привет. Есть экран в нем есть три поля, дак вот нужно чтобы по тапу на это поле в квадрате появился флажок, и при этом появился алерт с вводом некоторых значений, допустим нажал на оплатить, появился алерт я ввел сумму закрыл и появился флажок.
Через что и как можно это сделать, использовать tableview или нет, какой контроллер использовать?
RexHunt
#2
Обычная таблица с label и image.
При клике просто меняете картинку.
В случае с оплатить, сперва вызываете AlertController, после определенного действия обновляете ячейку.
Maksim
#3
var perehodObrabotki:[String] = Array()
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return perehodObrabotki.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell" /*"CheckListIdentifier"*/) as! CheckMarkCell
cell.lblTitle.text = perehodObrabotki[indexPath.row]
cell.selectionStyle = .none
cell.textLabel?.text = perehodObrabotki[indexPath.row]
cell.btnCheckMark.addTarget(self, action: #selector(checkMarkButtonClicked(sender:)), for: .touchUpInside)
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 71.0
}
@objc func checkMarkButtonClicked ( sender: UIButton) {
print("check")
if sender.isSelected {
//снять
sender.isSelected = false
} else {
// поставить
sender.isSelected = true
}
}
override func viewDidLoad() {
super.viewDidLoad()
perehodObrabotki.append("работа сдана заказчику")
perehodObrabotki.append("смена мастер кода")
perehodObrabotki.append("получил деньги от заказчика")
perehodObrabotki.append("списание/пересорт")
perehodObrabotki.append("результат диагностики")
perehodObrabotki.append("обработать заявку вручную")
obrabotkaList.register(UINib.init(nibName: "CheckMarkCell", bundle: nil), forCellReuseIdentifier: "Cell")//"CheckListIdentifier")
obrabotkaList.dataSource = self
obrabotkaList.delegate = self
}
вот так я ставлю свои флажки, есть проблема, как сделать так чтобы флажок ставился не только по нажатию на сам Check, а ставился при нажатии на всю строку
RexHunt
#4
tableView(didSelectRowAt) - тут вы получите индекс нажатой ячейки, по индексу вытащите ячейку и обновите у нее свой элемент
RexHunt
#6
без понятия, по ощущениям наложилась вторая таблица поверх первой с пробелом в начале значений
Maksim
#8
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if tableView.cellForRow(at: indexPath)?
вот так как то?