Questions tagged «uiscrollview»

将此标签用于有关iOS上的滚动视图的所有问题。请勿将此标签用于其他平台。

13
如何使ScrollView中的TableView滚动行为自然
我需要做一个配置很奇怪的程序。 如下图所示,主视图是UIScrollView。然后,它的内部应该有一个UIPageView,而PageView的每个页面都应该有一个UITableView。 到目前为止,我已经完成了所有这一切。但我的问题是,我想滚动到表现 自然。 接下来是我自然的意思。当前,当我在其中一个UITableViews上滚动时,它将滚动tableview(而不是scrollview)。但是我希望它滚动ScrollView,除非scrollview无法滚动导致它到达顶部或底部(在那种情况下,我希望它滚动tableview)。 例如,假设我的滚动视图当前滚动到顶部。然后,我将手指放在(显示当前页面的)表格视图上,然后开始向下滚动。在这种情况下,我希望scrollview滚动(没有tableview)。如果我一直向下滚动滚动视图并到达底部,如果我从显示屏上移开手指并将其放回tebleview上方并再次向下滚动,则我希望我的表视图现在向下滚动,因为滚动视图已到达其底部并且没有滚动能够保持滚动。 你们对如何实现此滚动有任何想法吗? 我真的迷失了。任何帮助将不胜感激:( 谢谢!


11
我可以在UIScrollView中使用UIRefreshControl吗?
UIScrollView我的应用程序中已经有大约5个可以加载多个.xib文件的文件。现在,我们要使用UIRefreshControl。它们被构建为与UITableViewControllers一起使用(每个UIRefreshControl类参考)。我不想重新做这5个UIScrollView工作。我已经尝试使用UIRefreshControl我UIScrollView的,它如预期,除了几件事情的作品。 刷新图像进入加载程序后,UIScrollView跳转大约下降了10个像素,只有当我非常小心地将其拖慢时才不会发生UIScrollview。 当我向下滚动并启动重新加载时,请放开,将UIScrollView其放到我放下的UIScrollView位置。重新加载完成后,UIScrollView跳转到顶部,没有动画。 这是我的代码: -(void)viewDidLoad { UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged]; [myScrollView addSubview:refreshControl]; } -(void)handleRefresh:(UIRefreshControl *)refresh { // Reload my data [refresh endRefreshing]; } 有什么办法可以节省大量时间并UIRefreshControl在中使用UIScrollView? 谢谢!!!

24
旋转Interface Orientation时将contentOffset保留在UICollectionView中
我正在尝试处理UICollectionViewController中的界面方向更改。我想要实现的是,我希望在界面旋转后具有相同的contentOffset。意思是,它应该根据边界变化的比例而变化。 以内容偏移量为{ bounds.size.width * 2,0}的肖像开始... …也应导致横向内容偏移量为{ bounds.size.width * 2,0}(反之亦然)。 计算新的偏移量不是问题,但不知道在何处(或何时)进行设置以获得平滑的动画。我正在做的事情是使中的布局无效willRotateToInterfaceOrientation:duration:并重置中的内容偏移didRotateFromInterfaceOrientation:: - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration; { self.scrollPositionBeforeRotation = CGPointMake(self.collectionView.contentOffset.x / self.collectionView.contentSize.width, self.collectionView.contentOffset.y / self.collectionView.contentSize.height); [self.collectionView.collectionViewLayout invalidateLayout]; } - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation; { CGPoint newContentOffset = CGPointMake(self.scrollPositionBeforeRotation.x * self.collectionView.contentSize.width, self.scrollPositionBeforeRotation.y * self.collectionView.contentSize.height); [self.collectionView newContentOffset animated:YES]; } 这将改变旋转后的内容偏移。 轮换期间如何设置?我试图在中设置新的内容偏移量willAnimateRotationToInterfaceOrientation:duration:但这导致了非常奇怪的行为。 可以在我在GitHub上的项目中找到一个示例。


5
使用scrollview中的动态大小控制器调整容器视图的大小
我正在尝试在UIScrollView内创建一个具有动态高度的控制器的容器视图,并使用自动布局自动调整其大小。 视图控制器A是滚动视图,其中包括容器视图,以及下面的更多内容。 View Controller B是我希望具有动态大小的视图控制器,并且所有内容都将在View Controller A的“滚动视图”中以全高度显示。 我在获取B的动态大小以自动设置A中的Container View的大小时遇到​​了一些问题。但是,如果我在A中的Container View上设置了高度限制, 如果View Controller B的高度也为250,则将是预期的输出。对于高度1000,它也可以正常工作,据我所知,所有自动布局约束均已正确设置。不幸的是,由于高度实际上应该是动态的,因此我想完全避免设置高度限制。 我不确定是否有视图控制器BI可以设置任何设置来根据其内容自动更新其大小,或者我是否错过了其他技巧。任何帮助将非常感激! 是否可以在不设置高度约束的情况下根据View Controller B的大小来调整A中的Container View的大小?

8
获取UIScrollView内容的可见区域
如何找到屏幕上实际可见的显示视图的内容的矩形(CGRect)。 myScrollView.bounds 上面的代码在没有缩放时起作用,但是一旦允许缩放,它就会以非1的缩放比例中断。 为了澄清,我想要一个CGRect,其中包含滚动视图内容相对于内容的可见区域。(即,如果缩放比例为2,则矩形的大小将为滚动视图大小的一半,如果缩放比例为0.5,则其大小将为两倍。)


7
为什么UIScrollView在ios 6和ios 7中从顶部留出空间
我已关闭自动版式,并且viewcontroller嵌入在导航控制器中。我正在使用Xcode 5,情节提要。 我不明白为什么会在顶部留下空间。实际上,在情节提要中,我已将标签恰好放在导航栏下方。但是,当我在模拟器上运行它时,它从顶部开始留有空间。 解决此问题的一种骇人听闻的方式 -(void)viewWillLayoutSubviews { self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800); self.scrollViewMain.contentSize = CGSizeMake(320, 800); } 但是我是否错过了一种非常简单的方法。

7
iOS 7 — navigationController设置了我的UIScrollView的contentInset和ContentOffset
我有一个UIScrollView(实际上是UICollectionView,但这可能没关系)。当它出现在IOS 7中时,导航控制器会将其contentInset和contentOffset设置为我不需要的值。它似乎正在尝试调整状态栏和导航栏。我非常希望它让他们一个人呆着。我已经通过覆盖contentInset和contentOffset的getter和setter方法并带有一个标志来告知对象是否应接受一个集合来解决此问题。但是有更好的方法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.