ответ Lasse является правильно (я проголосовал). Но, чтобы быть понятным, он будет работать только на UIDatePickers. Я просто смотрел на источники iOS Calabash, и похоже, мы отметили, что некоторые из методов выбора являются частными. Следующее было схвачено из бриар-драгоценного камня. Он использует частные селекторы UIKit для управления колесами выбора. Опасность состоит в том, что она может не работать на некруглых (бесконечных) сборщиках.
Вы можете использовать приведенный ниже код, чтобы написать Шаг, который прокручивает колонку выбора, чтобы сверлить текст.
def picker_current_index_for_column (column)
arr = query('pickerTableView', :selectionBarRow)
arr[column]
end
# methods common to generic and date pickers
def picker_current_index_for_column_is(column, val)
picker_current_index_for_column(column) == val
end
def previous_index_for_column (column)
picker_current_index_for_column(column) - 1
end
def picker_next_index_for_column (column)
picker_current_index_for_column(column) + 1
end
def picker_scroll_down_on_column(column)
new_row = previous_index_for_column column
query("pickerTableView index:'#{column}'", [{:selectRow => new_row},
{:animated => 1},
{:notify => 1}])
end
def picker_scroll_up_on_column(column)
new_row = picker_next_index_for_column column
query("pickerTableView index:'#{column}'", [{:selectRow => new_row},
{:animated => 1},
{:notify => 1}])
end
def visible_titles (column)
query("pickerTableView index:#{column} child pickerTableViewWrapperCell", :wrappedView, :text).reverse
end
# May only work on circular pickers - does _not_ work on non-circular
# pickers because the visible titles do _not_ follow the selected index
def selected_title_for_column (column)
selected_idx = picker_current_index_for_column column
titles = visible_titles column
titles[selected_idx]
end
def scroll_picker(dir, column)
if dir.eql? 'down'
picker_scroll_down_on_column column
else
picker_scroll_up_on_column column
end
sleep 0.4
end
Это не ясно из вашей преамбулы, если вы говорите, этот код будет работать только тогда, когда пользователь включает также шиповник камень, и де-приватизирует несколько недокументированных ее части, или к чему. –
Я рекомендую использовать драгоценный камень бриар в качестве вдохновения. Вы можете использовать драгоценный камень бриар, но его будущее неопределенно. – jmoody
Это замечательно, или нет, поскольку код, несмотря на наличие поля с именем «столбец», на самом деле не работает с несколькими столбцами. Если бы вы только зарегистрировали какие-либо проекты, над которыми вы работали, кто-то мог бы использовать их для вдохновения. Код, который утверждает, что что-то делает, но не делает этого, и не имеет никакого объяснения того, как он якобы собирается выполнить задачу под рукой, не особенно полезен. Мне кажется, что ваша основная цель во всех ваших проектах - попытаться создать консалтинговый бизнес для своего работодателя. –