jim*_*iOS 56 cocoa-touch objective-c uipickerview ios
如果我想要一个选择器,对于州/省,我还没有看到一个例子,但我在上面显示了一个模拟,是US/Can/Mex的选择器.想知道你能动态切换UIPickerView的NSMutableArray,然后每次点击US/Can/Mex按钮时以某种方式重新加载??? 我该怎么做呢 我采取什么方法.寻找某人为初学者指出正确方向的线索.
Vik*_*ica 116
您必须实现数据源和委托.
按下按钮后,将数组指针设置为相应的数组.
比打电话 [thePicker reloadAllComponents];
-(IBAction) usButtonPressed:(id)sender{
self.inputArray = self.usArray;
[self.thePicker reloadAllComponents];
}
-(IBAction) mexicoButtonPressed:(id)sender{
self.inputArray = self.mexicoArray;
[self.thePicker reloadAllComponents];
}
Run Code Online (Sandbox Code Playgroud)
数据源方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [self.inputArray count];
}
Run Code Online (Sandbox Code Playgroud)
委托方法:
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.inputArray objectAtIndex:row];
}
Run Code Online (Sandbox Code Playgroud)
Vin*_*shi 19
Swift:xcode 6.1
//重新加载选择器的组件(在触发器操作或按钮内使用)
self.pickerControl.reloadAllComponents();
Run Code Online (Sandbox Code Playgroud)
在 swift 3、4 或 5 中,您只需编写如下 didSelectRow 函数
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
self.view.endEditing(false)
yourPickerView.selectRow(0, inComponent: 0, animated: true)
yourPickerView.reloadAllComponents();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
63112 次 |
最近记录: |