私は同じのUITableView
とUIScrollView
内部の両方を使用していUIViewController
ます。
私の問題は、テーブルビューまたはスクロールビューのいずれかをスクロールすると、didScrollデリゲート呼び出しが発生することです。
scrollViewDidScroll
デリゲートコールの発信元を特定するにはどうすればよいですか?
デリゲートで指定された scrollView パラメータを確認してください。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if(scrollView == self.tableView) {
// its your tableView
}
else if(scrollView == self.scrollView) {
// its your scrollView
}
}
didScrollメソッドは、scrollviewを入力として受け取ります
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
if(scrollView == self.tableViewInstance){//this is your table view}
else {//this is your scroll view}
}
入力をチェックして、デリゲートメソッドを呼び出しているのがスクロールビューかテーブルビューかを確認できます。
UIScrollViewのタグをとして0
追加し、UITableViewのタグをとして追加できます1
。デリゲート内でタグをチェックして、これのどれがスクロールされているかを確認し、作業を行います。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if(scrollViewl.tag == 0) // ur in scrollView
if(scrollViewl.tag == 1) // ur in tableView
}