6

我使用以下代码创建了一个自定义 UIPickerView

UIPickerView *picker =[[UIPickerView alloc] initWithFrame:CGRectMake(139,50,161,30)];
    picker.delegate=self;
    picker.showsSelectionIndicator=YES;
    picker.hidden=NO;

    [self.view addSubview:picker];

现在我想在用户简单地选择一行时隐藏pickerView

picker.hidden=YES;

现在:1)如何识别用户的选择,然后隐藏无用的pickerview?2) 我可以在 TextField 中显示选择吗?用@“选择”?

4

7 回答 7

5

我使用 UIPickerView 作为 TextField 的 inputView (因此替换了屏幕键盘)。我使用以下委托来关闭视图。

#pragma mark - UIPickerViewDelegate
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    // Code logic
    [[self view] endEditing:YES];
}
于 2013-08-09T20:41:16.783 回答
2

在您创建选择器的位置添加此行

picker.delegate = self;

你的回电

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    picker.hidden=YES;
}
于 2012-12-13T11:19:27.633 回答
2

使用如下的委托方法UIPickerView ..

   - (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

        yourTextField.text = [yourArray objectAtIndex:row];
        thePickerView.hidden = YES;

    }

你也可以拿一个UIButton并用 的动作事件隐藏它UIButton

于 2012-12-13T11:29:51.727 回答
0

您可以在其上使用带有取消和完成文本的 UINavigationBar 和 Barbutton。

您可以参考以下链接

Objective C 使用“完成”按钮实现 UIPickerView

于 2012-12-13T11:20:56.637 回答
0

UIView *addMealView; // 这里我展示了我的选择器

   - (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component 
{   
[addMealView endEditing:YES];   
}
于 2014-02-20T11:43:44.830 回答
0

我使用 UIPickerView 作为 TextField 的 inputView(用于替换标准键盘)。我使用 ResignFirstResponder(TextField 方法)来关闭视图。

于 2016-09-11T09:43:48.993 回答
0

在 XCode 12.2 中,您可以使用:

thePickerView.isHidden = true
于 2021-02-24T10:00:01.660 回答