class Formotion::RowType::CheckRow
Public Instance Methods
build_cell(cell)
click to toggle source
This is actually called whenever again cell is checked/unchecked in the UITableViewDelegate callbacks. So (for now) don't instantiate long-lived objects in them. Maybe that logic should be moved elsewhere?
# File lib/formotion/row_type/check_row.rb, line 16 def build_cell(cell) cell.selectionStyle = self.row.selection_style || UITableViewCellSelectionStyleBlue update_cell_value(cell) observe(self.row, "value") do |old_value, new_value| update_cell_value(cell) end nil end
on_select(tableView, tableViewDelegate)
click to toggle source
# File lib/formotion/row_type/check_row.rb, line 25 def on_select(tableView, tableViewDelegate) if !row.editable? return end if row.section.select_one and !row.value row.section.rows.each do |other_row| other_row.value = (row == other_row) end elsif !row.section.select_one row.value = !row.value end end
update_cell_value(cell)
click to toggle source
# File lib/formotion/row_type/check_row.rb, line 8 def update_cell_value(cell) cell.accessoryType = cell.editingAccessoryType = row.value ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone end