我使用以下代码
创建了一个自定义UIPickerViewUIPickerView *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中显示选项吗?与@“选择”?
答案 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