如何在用户做出选择时隐藏UIPickerView

时间:2012-12-13 11:16:06

标签: iphone xcode hide uipickerview

我使用以下代码

创建了一个自定义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)如何识别用户的选择,然后隐藏无用的选择器视图? 2)我可以在TextField中显示选项吗?与@“选择”?

7 个答案:

答案 0 :(得分:5)

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

#pragma mark - UIPickerViewDelegate
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    // Code logic
    [[self view] endEditing:YES];
}

答案 1 :(得分:2)

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

picker.delegate = self;

你的回调

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    picker.hidden=YES;
}

答案 2 :(得分:2)

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

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

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

    }

此外,您可以使用一个UIButton并使用UIButton的操作事件隐藏此内容。

答案 3 :(得分:0)

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

您可以参考以下链接

Objective C implementing a UIPickerView with a "Done" button

答案 4 :(得分:0)

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

   - (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component 
{   
[addMealView endEditing:YES];   
}

答案 5 :(得分:0)

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

答案 6 :(得分:0)

在 XCode 12.2 中你可以使用:

thePickerView.isHidden = true
相关问题