首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据按下按钮重新加载/刷新UIPickerView (具有新的数据数组)?

如何根据按下按钮重新加载/刷新UIPickerView (具有新的数据数组)?
EN

Stack Overflow用户
提问于 2011-12-22 08:58:22
回答 6查看 71.6K关注 0票数 62

如果我想要一个州/省的选取器,我还没有见过一个例子,但我模拟了上面显示的美国/加拿大/墨西哥的选取器。想知道是否可以动态切换UIPickerView的NSMutableArray,然后在每次单击US/ can /Mex按钮时以某种方式重新加载?我该怎么做呢?我应该采取什么方法。寻找一个能给初学者指出正确方向的人。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-22 09:11:40

您必须实现数据源和委托。

按下按钮后,将数组指针设置为相应的数组。

然后调用[thePicker reloadAllComponents];

代码语言:javascript
复制
-(IBAction) usButtonPressed:(id)sender{
    self.inputArray = self.usArray;
    [self.thePicker reloadAllComponents];
}

-(IBAction) mexicoButtonPressed:(id)sender{
    self.inputArray = self.mexicoArray;
    [self.thePicker reloadAllComponents];
}

数据源方法:

代码语言:javascript
复制
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}


- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [self.inputArray count];
}

委托方法:

代码语言:javascript
复制
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    return [self.inputArray objectAtIndex:row];
}
票数 126
EN

Stack Overflow用户

发布于 2014-11-12 15:19:23

Swift: xcode 6.1

//重新加载picker的组件(在触发器action或按钮内部使用)

代码语言:javascript
复制
[self.pickerControl reloadAllComponents];
票数 25
EN

Stack Overflow用户

发布于 2016-06-24 00:45:48

通过调用

代码语言:javascript
复制
thePicker.delegate = self;

再一次,我能够用新的信息强制刷新选择器视图

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8598271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档