iOS开发之scrollview上添加table或者collect的交互问题

view的显示

环境:xib上添加了scrollview ,scrollview上又添加了tableview
添加的正确步骤为:xibView --> scrollview --> 背景view --> tableview.
问题1:scrollview只可滑动全屏大小,但是下面的视图使劲拖拽也能看到
答:加载xib的时候,xib的大小设置的不对,应该直接设置全屏大小;
问题2:scrollview显示不正确
答:在xib上拉scrollview的时候,scrollview的约束为:距左距右距上距下都为0,backview的约束也是一样,不过多加了两条,一条为你想要的scrollview的高度,一条为距离scrollview的centerX

点击方法

如果在scrollview上添加了table或者collect,你会发现他们的didselect方法不走,不光这个,可能其他子view的action也不走

这时候你需要:
- (void)addTap{
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)];
tap.delegate = self;
[self.backScroll addGestureRecognizer:tap];
}
- (void)tap:(UITapGestureRecognizer *)tap{
[self endEditing:YES];
}

  - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
   {
 if ([NSStringFromClass([touch.view class])     isEqualToString:@"UITableViewCellContentView"])
{
    return NO;
}
return YES;

}

如果发现此方法不走,或者获取到的touch.view class 不是tableview是scrollview,一定是frame设置的不对,我这里还是用xib写的....高度有800度...一个不注意就成了自己坑自己,希望看到这篇文章的小伙伴不会像我一样自己坑自己....

你可能感兴趣的:(iOS开发之scrollview上添加table或者collect的交互问题)