代码之家  ›  专栏  ›  技术社区  ›  PaulH

ScrollView中的多个UIPickerView未隐藏

  •  0
  • PaulH  · 技术社区  · 11 年前

    我有一个隐藏的多个UIPickerView在静态应用程序中运行良好。然而,当我将其添加到具有滚动视图的应用程序中时,当你从选择器中按开时,它不再隐藏。

    UIPickerView:

    picker = [[UIPickerView alloc] initWithFrame:CGRectMake(100,100,400,160)];
        picker.showsSelectionIndicator = TRUE;
        picker.dataSource = self;
        picker.delegate = self;
        picker.hidden = YES;
        [self.view addSubview:picker];
    
    
    }
    
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        picker.hidden = YES;
    }
    

    因为它现在在滚动视图中,所以我需要添加什么吗?

    非常感谢

    1 回复  |  直到 11 年前
        1
  •  0
  •   PaulH    11 年前

    通过将这段代码添加到after-viewDidLoad来解决此问题:

    UITapGestureRecognizer *tapRec = [[UITapGestureRecognizer alloc]
                                          initWithTarget:self action:@selector(tap:)];
        [self.view addGestureRecognizer: tapRec];
    }
    
    -(void)tap:(UITapGestureRecognizer *)tapRec
    {
        [[self view] endEditing: YES];
        // Hide picker
        [picker resignFirstResponder];
        picker.hidden = YES;
    
    }