小编Anu*_*pam的帖子

iOS 7.1 UITapGesture无法使用UIPickerView

我们使用a UIPickerView来允许用户从选项列表中进行选择.我们将添加UIPickerView为容器UIView的子视图.然后我们将UITapGestureRecognizer添加到容器中UIView.在UITapGestureRecognizer正在使用经不起它的超级视图关闭该选择器.

在iOS 7.0及以前的版本中,这是按预期工作的.但是,在iOS 7.1中,此设置不再起作用,UITapGestureRecognizer即无法识别tap并调用操作中指定的选择器(取消选择器视图和容器视图).代码如下

   - (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.nameList=[[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C", nil];
    UIPickerView *myPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 320, 200)];
    myPickerView.delegate = self;
    myPickerView.showsSelectionIndicator = YES;
    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapInListPickerView:)];
    [singleTap setNumberOfTapsRequired:1];
    [singleTap setNumberOfTouchesRequired:1];
    [myPickerView addGestureRecognizer:singleTap];
    [self.view addSubview:myPickerView];
}

-(void)tapInListPickerView:(UIGestureRecognizer *)sender

{
    NSLog(@"Taped in pikcer view");
}
Run Code Online (Sandbox Code Playgroud)

如果需要任何其他信息或者有更优选的方法,请告诉我.

uipickerview uitapgesturerecognizer ios7.1

35
推荐指数
1
解决办法
1万
查看次数