我对UIPickerView有疑问。
我构建了UIPickerView,选择器弹出正常,
但是当我点击屏幕时我需要关闭选择器视图。
但是当我点击屏幕时,选择器已经解散,但是仍然保留了背景灰色视图(?)。
像这样:
我的零件代码在这里
dataAry = [[NSArray alloc] initWithObjects:@"test1",@"test2",@"test3",@"test4",@"test5", nil] ;
pickerView = [[UIPickerView alloc] initWithFrame:CGRectZero];
pickerView.delegate = self;
pickerView.dataSource = self;
pickerView.showsSelectionIndicator = true;
_myTF.inputView = pickerView;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideThePicker)];
tapGesture.delegate = self;
tapGesture.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:tapGesture];
}
-(IBAction)hideThePicker {
pickerView.frame = CGRectMake(0, 480, 320, 260);
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger) row forComponent:(NSInteger)component
{
return dataAry[row];
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: (NSInteger)component
{
return [dataAry count];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component
{
NSLog(@"dataAry selected:%ld", row);
}
有人告诉我,当我触摸屏幕时,如何完全取消选择视图?
非常感谢你。我的test pickerview完全代码在这里: git:https://github.com/dickfala/pickerViewTest.git
答案 0 :(得分:0)
你为什么不用 -
-(IBAction)hideThePicker {
[_myTF resignFirstResponder];
pickerView.hidden = YES;
}
您只需使用其“隐藏”属性即可隐藏UIPickerView
。
检查上面的更新答案,您还必须重新签名文本字段响应者。