只是UIPickerView中的数字?

时间:2010-12-06 21:15:26

标签: iphone objective-c uipickerview

有没有办法让UIPickerView将数字升级为无穷大? 哈哈。开玩笑,但说真的,我只想要一堆数字,但我不想硬编码。

提前致谢!

3 个答案:

答案 0 :(得分:9)

我很确定这可以通过一些聪明(一个支持任意大数字的自定义整数类,并在用户滚动浏览所有NSIntegerMax行时定期“翻转”到更高的数字集来完成)(即用户滚动到行NSIntegerMax,您以编程方式将它们滚动回到第0行并显示“row + NSIntegerMax”而不是“row”。当它们反复滚动时,您将其更改为“row + NSIntegerMax * 2”等。

显然你也必须处理它们改变方向是有道理的。

但我怀疑这比你想做的更好。在这种情况下,您只想将这些代码行添加到View Controller中:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    return NSIntegerMax;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    return [NSString stringWithFormat:@"%d", row];
}

然后双击View nib文件(* .xib文件)在Interface Builder中打开它,并将“数据源”插座连接到“文件所有者”(视图控制器)。这会让你得到尽可能多的整数,就像我想象有人滚动到那里一样。

答案 1 :(得分:0)

看看this question。这是你问题的一个变种。

答案 2 :(得分:0)

你可以使用UIStepper。我知道你问过UIPicker,但你真的需要使用那个课程,还是用它来解释你想要什么样的东西