0

我正在尝试为 UIPicker 找到一种方法,使其具有 3、6、12、24、36、46、72 选项。这样用户就可以从该集中选择选项。但是 UIPicker 必须带有一个从 1 开始并通过上述设置进行的旋转轮默认值。

因此,选择此选项最终应将所选数量放入购物车。

4

1 回答 1

0

这是你需要做的。在具有您需要实现的选择器的文件的 .hUIPickerViewDataSourceUIPickerViewDelegate

@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>

然后,您需要将 UIPicker 的 DataSource 和 Delegate 连接到文件的所有者。然后你需要实现这些方法,我让你开始使用它们。

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

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
     return self.myArray.count;
}

// getting the selected row and therefore the selected value
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
     self.selectedValue = [self.myArray objectAtIndex:row];
}

// The text displayed in each picker view
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
     return [self.myArray objectAtIndex:row];
}

// Properties used in the above code.

// myArray is the array with the values you want in it, so you could make it a property do lazy loading
@property (strong, nonatomic) NSArray *myArray;

- (NSArray *)myArray {
     if (!_myArray) _myArray = [NSArray arrayWithObjects:@"1", @"3", @"6", ..., nil];
     return myArray;
}

// selectedValue is an NSString of the current number selected
@property (strong, nonatomic) NSString *selectedValue;

我刚刚在 StackOverflow 中对此进行了编码,因此如果有任何语法错误,我深表歉意。

于 2013-01-30T22:49:47.097 回答