繁体   English   中英

UIWindow中的iOS UIScrollView

[英]iOS UIScrollView in UIWindow

我目前正在制作一个iOS项目,其中有一个UIScrollView作为UIWindow的直接子视图(使用[window addSubview:scrollView]; )。 窗口的框架及其内容已正确设置,并且contentSize设置为大于窗口的框架。 当我尝试滚动UIScrollView时,它根本不会滚动。 scrollEnabledpagingEnabled都设置为YES ,但是scrollview不滚动,这使我相信滚动视图甚至没有接收到触摸/滚动事件。 如果该窗口有所不同,则该窗口将添加一个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,但是scrollview仍然无法滚动。

啊, UITapGestureRecognizer 这可能是一个错误,使我花了数小时才能确定自己的项目。 是否将其cancelsTouchesInView属性设置为NO呢? (默认YES是”。如果您不期望它,它确实会让您失望。)

只需记录scrollview边界的宽度/高度。 您要设置的内容高度应大于滚动视图的高度。 如果更多,则滚动视图将自动启用其滚动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM