1

我们都使用 UIScrollView 是很常见的,我已经在 xib 上使用了一个,并且已经很好地设置了它的所有属性,它在开始时滚动,但后来我在其中放了一个视图,它停止滚动,

[scroll setContentSize:CGSizeMake(containerViewOfRecurrence.frame.size.width, 1000)];
scroll.pagingEnabled = NO;
scroll.delegate      = self;
scroll.scrollEnabled = YES;
scroll.clipsToBounds = YES;

[scroll setBackgroundColor:[UIColor clearColor]];

我添加了委托方法来检测滚动,

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    NSLog(@"%f", scrollView.contentOffset.y);
}

并且滚动时不会调用它。

这是xib的图片

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

0

我明白了,这是 iOS 6 的问题,因为在 iOS 6 中内容大小是自动计算的,我们不需要以编程方式设置它,useAutoLayout 计算它,此外,我们需要一个名为 translatesAutoresizingMaskIntoConstraints 的属性为 NO。

我将 UIEdgeInsetsMake 添加了一些大小,以便获得更多滚动,

最后这是我的工作代码

//[scroll setContentSize:CGSizeMake(containerViewOfRecurrence.frame.size.width, 1000)];
scroll.pagingEnabled = NO;
scroll.delegate      = self;
scroll.scrollEnabled = YES;
scroll.clipsToBounds = YES;

[self.scroll setContentInset:UIEdgeInsetsMake(0, 0, 300, 0)];

self.scroll.translatesAutoresizingMaskIntoConstraints= NO;

[scroll setBackgroundColor:[UIColor clearColor]];
于 2013-08-03T07:04:17.093 回答
0

当您添加其他新的UIView (自定义视图)时,您还需要更改contentSize.UIScrollView

诸如此类,

添加后UIView

[scroll setContentSize:CGSizeMake(containerViewOfRecurrence.frame.size.width, scroll.contentSize.height + myCustomeView.frame.size.height)]
于 2013-08-03T06:35:33.463 回答