【发布时间】:2013-03-30 22:28:27
【问题描述】:
我目前正在制作一个 iOS 项目,其中我有一个 UIScrollView 作为 UIWindow 的直接子视图(使用 [window addSubview:scrollView];)。窗口的框架及其内容已正确设置,contentSize 设置为大于窗口的框架。当我尝试滚动 UIScrollView 时,它根本不滚动。 scrollEnabled 和 pagingEnabled 都设置为 YES,但滚动视图不滚动,这让我相信滚动视图甚至没有接收到触摸/滚动事件。如果有任何区别,窗口会添加一个UITapGestureRecognizer。我是否需要以某种方式将滑动事件转发到UIScrollView,还是有其他原因导致它不滚动?
编辑:这是一些代码。
float count=ceil([self.msgArray count]/2); //msgArray has length of 3+, NSLog()'d and confirmed.
float contentHeight=97.5 * count;
[dataScrollView setContentSize:CGSizeMake(320,contentHeight)];
dataScrollView.userInteractionEnabled=YES;
dataScrollView.pagingEnabled=YES;
dataScrollView.scrollEnabled=YES;
dataScrollView.clipsToBounds=YES; //Have also tried with this set to NO, or not set at all.
//Add subviews to dataScrollView.
编辑:这里有更多信息。 记录时 contentHeight 为 195.00。我已经删除了委托方法,我又回到了使用滚动视图的直接子视图。窗口高度为 97.50。
编辑:我还从 UIWindow 中删除了 UITapGestureRecognizer,但滚动视图仍然不滚动。
【问题讨论】:
-
请贴一些代码。
-
成为事物的代表,看看是否正在调用 -scrollViewDidScroll。或者子类化它并覆盖触摸处理以进行更具体的检查
-
@lk.查看编辑。添加代码。
-
@AehmloLxaitn 不幸的是,
UIScrollView不是这样工作的。我会写一个答案。 -
哦,我明白了,这不可能与问题有关,还好你没有提到它。
标签: iphone ios objective-c uiscrollview uigesturerecognizer