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度...一個不注意就成了自己坑自己,希望看到這篇文章的小伙伴不會像我一樣自己坑自己....