Q:当我给一个UIView添加UIScrollView,但是scrollView不能滚动
Posted
技术标签:
【中文标题】Q:当我给一个UIView添加UIScrollView,但是scrollView不能滚动【英文标题】:Q:When I add UIScrollView to a UIView, but the scrollView can not scroll 【发布时间】:2016-06-21 09:58:05 【问题描述】:我在customView中添加了UIScrollView
,我设置了右边的contentSize
,但是scrollView不能滚动。
这是我的代码:
_scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 44, self.bounds.size.width, self.bounds.size.height - 44)];
// _scrollView.translatesAutoresizingMaskIntoConstraints = NO;
// _scrollView.userInteractionEnabled = NO;
_scrollView.contentSize = CGSizeMake(3 * self.bounds.size.width, self.bounds.size.height - 44 + 500);
_scrollView.contentOffset = CGPointMake((_orginSelectedIndex)*(self.bounds.size.width), 44);
_scrollView.pagingEnabled = YES;
_scrollView.scrollEnabled = YES;
[self addSubview:_scrollView];
/* add tableviews */
for (int i = 0 ; i < _titlesArr.count; i ++)
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(i * self.bounds.size.width, 44, self.bounds.size.width, self.bounds.size.height - 44) style:UITableViewStylePlain];
tableView.tag = 200 + i;
tableView.backgroundColor = RandColor;
[self addSubview:tableView];
我还记录了我的卷轴的contentSize
。
NSLog(@"%@-s", NSStringFromCGSize(lml_pager.scrollView.contentSize));
有显示:
2016-06-21 17:39:07.272 LMLViewPager[7381:312567] 1125, 1059-s
有人知道问题是什么吗?我没有在我的代码中使用自动布局。
并且调试中有我的图片令牌:
显然,它只添加了一个tableView
,我的_titlesArr
计数是3。
picture
【问题讨论】:
【参考方案1】:tableview 应该被添加到scrollview 而不是scrollview 的superview。
【讨论】:
【参考方案2】:确保您也开启了用户交互。
【讨论】:
视图和滚动视图的 userInteractionEnabled = YES;【参考方案3】:您在UIScrollView
之上添加UITableView
,这实际上将scrollView 放在tableView 下方。如果您希望 tableView 成为 scrollView 的一部分。尝试将tableView添加为scrollView的子视图
【讨论】:
【参考方案4】:您的视图层次结构如下:
YourCustomView->ScrollView->TableView
现在您正在尝试滚动滚动视图,但您可以看到 Tableview
位于层次结构的 top
上。所以它不会水平滚动。
【讨论】:
谢谢,我的 false.U 帮助了我。以上是关于Q:当我给一个UIView添加UIScrollView,但是scrollView不能滚动的主要内容,如果未能解决你的问题,请参考以下文章
为包含 CAGradientLayer 的 UIView 设置动画
在 UIScrollView 下方绘制阴影(滚动 UIView)