Sha256: 3d5be2a58e44def915c3f61e2c36d6a66d42a03f96a8f738bbd16308578bd088
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
motion_require 'base' motion_require 'items_mapper' 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
formotion-1.3.1 | lib/formotion/row_type/options_row.rb |