2

我的选择器视图只有一个组件,组件中有 5 个值。

我可以获得轮子的数量和组件中的值,如下所示

var picker = window.pickers(); 

UIALogger.logMessage("picker array count: " + picker.length);

var pickerWheels = picker[0].wheels();
var pickerWheelsValues =pickerWheels[0].values();

当我记录语句时,例如“pickerWheels[0].values()[1]”,它确实显示了第一项。

问题是,如何挖掘它?

pickerWheels[0].values()[1].tap(); // 不工作

有人可以提供一些输入,如何点击选择轮元素?

我也尝试过实现 UIPickerViewAccessibilityDelegate 并覆盖//设置每个组件的可访问性。

- (NSString *)pickerView:(UIPickerView *)thePickerView accessibilityLabelForComponent:(NSInteger)component{
    thePickerView.isAccessibleElement = YES;
    thePickerView.accessibilityLabel= @"label";
    return @"label";
}
4

3 回答 3

1

O'Reilly上有一篇文章展示了与选择器交互的一种方式(向下滚动到“zpthacker”发布的回复)。

基本上,它涉及计算在哪里点击选择器以使其前后移动。

需要对示例进行一些调整才能在创建点方面起作用,例如以下

var tapLoc = new Object();
tapLoc.x = origin.x+tapWidth;
tapLoc.y = tapHeight+origin.y;
target.tap(tapLoc);
于 2010-10-11T13:12:37.460 回答
1

jki 的回答几乎是正确的,应该是:

window.pickers()[0].wheels()[0].selectValue("another value");
于 2013-01-02T14:26:05.337 回答
0

你想测试点击轮子还是只选择它的特定值?

对于您知道的特定值的选择(在选择器的第一个轮子上),您可以使用:

window.pickers()[0].wheels()[0].setValue("another value");
于 2011-04-21T20:09:04.680 回答