Sha256: eaac821180ba80609d31fdb4d17f6776b07982f91dd9c5672185ca6e3ad330c1
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
module Formotion module RowType class OptionsRow < Base include BW::KVO include RowType::ItemsMapper def build_cell(cell) cell.selectionStyle = UITableViewCellSelectionStyleNone segmentedControl = UISegmentedControl.alloc.initWithItems(item_names || []) segmentedControl.selectedSegmentIndex = name_index_of_value(row.value) if row.value segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar segmentedControl.userInteractionEnabled = row.editable? cell.accessoryView = cell.editingAccessoryView = segmentedControl segmentedControl.when(UIControlEventValueChanged) do break_with_semaphore do row.value = value_for_name_index(segmentedControl.selectedSegmentIndex) end end observe(self.row, "value") do |old_value, new_value| break_with_semaphore do if row.value segmentedControl.selectedSegmentIndex = name_index_of_value(row.value) else segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment end end end nil end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
formotion-1.3 | lib/formotion/row_type/options_row.rb |
formotion-1.2 | lib/formotion/row_type/options_row.rb |