我只是有这个奇怪的问题。我有一个UIScrollView,我在该滚动中只有一个页面。滚动启用了分页并启用了跳出。
这是我的代码(在iPad中)
scroll = [[UIScrollView alloc] init];
scroll.pagingEnabled = YES;
scroll.showsHorizontalScrollIndicator = NO;
scroll.showsVerticalScrollIndicator = NO;
scroll.scrollsToTop = NO;
scroll.bounces = YES;
scroll.delegate = self;
CGRect frame = CGRectMake(0.0, 0.0, 768, 1004);
scroll.frame = frame;
[self.view addSubview:scroll];
UIView *view1 = [[UIView alloc] init];
view1.frame = CGRectMake(0, 0.0, 768, 1004);
view1.clipsToBounds = YES;
view1.backgroundColor = [UIColor redColor];
[scroll addSubview:view1];
scroll.contentSize = CGSizeMake(768 * 1, 1004);
很简单。我只创建一个UIView,并将其添加到滚动。并设置滚动的contentSize以保存完全一个视图。
但是在我运行之后,滚动根本不会反弹。
如果我添加第二个视图并设置滚动的contentSize双倍宽度,它会反弹。
我想知道如果只有一页,滚动是否永远不会反弹?
由于
答案 0 :(得分:9)
您可以使用该属性:
scroll.alwaysBounceHorizontal= YES;
或
scroll.alwaysBounceVertical = YES;
或两者
不要添加1px,如果你在滚动视图中的UIView中添加可触摸元素,它会给你带来麻烦。
重新定义滚动框后,永远不要忘记再次定义contentSize。甚至contentSize保持相同的值。
祝你好运答案 1 :(得分:0)
回答自己。
如果您希望UIScrollView能够反弹,则应将其contentSize设置为大于其帧大小。
即使1px更大就足够了
我自己的代码,如果我设置scroll.contentSize = CGSizeMake(768 * 1 + 1,1004);它会工作和反弹。