rbk*_*rbk 11 objective-c uipickerview ios
我一直在谷歌搜索如何在UIPickerView中获取当前选择的值,但在任何地方都提到使用row:0等等.
我有一个UIPickerView填充了字符串值,如"一个","两个"等.
现在,当我选择一个值让我们说"两个"时,无论如何我可以得到这个文本.
就像在UITextView中一样,它是_textview.text
Mic*_*ann 22
每个UIPickerView都应该有一个委托.
您可以通过以下方式向此代表询问您的选择器所选行标题:
UIPickerViewDelegate *delegate = yourPickerView.delegate;
NSString *titleYouWant = [delegate pickerView:yourPickerView titleForRow:[yourPickerView selectedRowInComponent:0] forComponent:0];
Run Code Online (Sandbox Code Playgroud)
(这是假设您的组件编号为零;您自己的实现可能会有所不同).
有关" pickerView:titleForRow:forComponent"方法的更多文档可以在这里看到.
小智 16
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
// selected value in Uipickerview in Swift
let value=array[row]
println("values:----------\(value)");
}
Run Code Online (Sandbox Code Playgroud)
首先在.h文件中添加UIPickerViewDatasource和UIPickerViewDelegate
然后在.m中添加该行
self.myPickerView.delegate = self;
Run Code Online (Sandbox Code Playgroud)
现在按其对象分配数组.
NSArray *arrOfAge = [[NSArray alloc]initWithObjects:@“one”,@”two”, nil];
Run Code Online (Sandbox Code Playgroud)
这是委托方法
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [arrOfAge count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSString *titleRow;
titleRow = [NSString stringWithFormat:@"%@", [arrOfAge objectAtIndex:row]];
return titleRow;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
selectedRow = row;
}
Run Code Online (Sandbox Code Playgroud)
此IBAction btnDone从pickerView返回选定的行.
- (IBAction)btnDone:(id)sender
{
NSUInteger num = [[self.myPickerView dataSource] numberOfComponentsInPickerView:self.myPickerView];
NSMutableString *text = [NSMutableString string];
for(NSUInteger i =0;i<num;++i)
{
NSUInteger selectRow = [self.myPickerView selectedRowInComponent:i];
NSString *ww = [[self.myPickerView delegate] pickerView:self.myPickerView titleForRow:selectRow forComponent:i];
[text appendFormat:@"%@",ww];
NSLog(@"%@",text);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39490 次 |
| 最近记录: |