scrollView的鍵盤取消

在scrollView上面,若是add一個textField或者textView,在控件是第一響應者的時候,直接點擊scrollView,touchesBegan是不會響應的。ui


原理以下:spa

UIScrollView的工做原理,當手指touch的時候,UIScrollView會攔截Event,會等待一段時間,在這段時間內,若是沒有手指 沒有移動,當時間結束時,UIScrollView會發送tracking events到子視圖上。在時間結束前,手指發生了移動,那麼UIScrollView就會進行移動,從而取消發送tracking。orm


能夠用下面的方法解決問題:get


- (void)viewDidLoad {it

    [super viewDidLoad];io

    

    self.myScroll.delegate = self;event

    

    UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(touchScrollView)];原理

    [recognizer setNumberOfTapsRequired:1];select

    [recognizer setNumberOfTouchesRequired:1];scroll

    [self.myScroll addGestureRecognizer:recognizer];


}


- (void)touchScrollView

{

    [self.myTextView resignFirstResponder];

}


scrollView還有更好玩的內容。

相關文章
相關標籤/搜索