3

在此处输入图像描述

我们如何才能实现这种类型的选择值在 UIPickerView 中以分钟秒来更改???

4

2 回答 2

4

首先,您使用pickerView:viewForRow:inComponent:reusingView:数据源方法返回“00”标签。这实际上有点棘手,因为pickerview 将更改此视图的框架以填充行。这意味着您必须将正确定位的视图嵌入到另一个视图中,然后返回该容器视图。

至于标签,这些只是UILabel已正确定位并添加为pickerview本身的子视图的对象。

为了让它们正确更新,只需在pickerView:didSelectRow:inComponent:方法中更改它们的标题。

这正是UIDatePicker正在做的事情。

于 2011-09-02T14:52:38.177 回答
0

您应该实施UIPickerViewDelegate Protocoland UIPickerViewDataSource Protocol

在方法中- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component只返回必要的标题。

您还可以在 的valueChanged事件上添加委托人UIPickerView。每次更改值时,您都可以重新加载所有可见行并在正确的位置设置标签分钟和秒。

Oooor 您可以UILabel在黑线上添加 2 秒的子视图。

Oooor 您可以使用带有标签的黑色渐变线添加子视图minssecs.

然后使用方法:- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component您可以设置适当的列宽度。

于 2011-09-02T12:23:38.890 回答