如何检测UITableView的滚动?

Rod*_*Rod 15 iphone uitableview

有一个类似的问题,但答案很笼统,模糊.(检测UITableView滚动)请不要忽略.我正在寻找具体的解决方案.

我有UITableView可编辑的文本字段,并在选择另一个单元格时出现PickerView.我需要的是在用户开始滚动时隐藏firstResponder或PickerView UITableView.

到目前为止,检测UITableView滚动有一个你应该继承的消息UITableView.如果你的子类UITableView仍然是内部/私人UIScrollView无法访问.如何访问UITableView父ScrollView(不违法)?

谢谢.

Vla*_*mir 37

您不需要子类UITableView来跟踪滚动.您的UITableViewDelegate也可以用作UIScrollViewDelegate.因此,在您的委托类中,您可以实现-scrollViewWillBeginDragging:或UIScrollViewDelegate在您的情况下需要的任何方法.(正如你提到的问题中的实际建议)


bbe*_*ord 8

为了扩展弗拉基米尔的答案,这是我实现这个解决方案的方式:

在.h文件中:

@interface MyViewController : UIViewController <UIScrollViewDelegate> 
Run Code Online (Sandbox Code Playgroud)

在.m文件中:

- (void)scrollViewWillBeginDragging:(UIScrollView *)activeScrollView {
    //logic here
}
Run Code Online (Sandbox Code Playgroud)


Tai*_* Le 6

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
    if (scrollView == myTableView){
       // Your code here.....
    }
}
Run Code Online (Sandbox Code Playgroud)