在ScrollView Touch上重新启动First Responder

Aja*_*rma 6 iphone objective-c iphone-sdk-3.0 ios-simulator

如何在ScrollView触摸事件上隐藏键盘...

场景就像......

- >查看 - > ScrollView - > Textfield

我想在触摸scrollView时隐藏键盘.我试图覆盖scrollview的类,但我仍然不能这样做.

vod*_*ang 8

这样做会有所帮助:

@interface MyClass <UIScrollViewDelegate> {
}

@implementation

- (void)viewDidLoad {
  yourScrollView.delegate = self;
}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
  [myTextField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

如果您真的想要处理触摸事件,那么您需要子类化UIScrollView并覆盖该方法:

- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view {

}
Run Code Online (Sandbox Code Playgroud)

有关UIScrollView touch的更多信息


Gro*_*oot 6

这对我有用

在viewController的viewDidLoad方法中

    UITapGestureRecognizer *tapScroll = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapped)];
    tapScroll.cancelsTouchesInView = NO;
    [viewScroller addGestureRecognizer:tapScroll];
Run Code Online (Sandbox Code Playgroud)

其中viewScroller是您的滚动条.在我们的tapped方法中

    - (void) tapped {
        [self.view endEditing:YES];
    }
Run Code Online (Sandbox Code Playgroud)

不知道为什么,但上面对我不起作用......即使它应该