UIScrollView 没有一直滚动

Posted

技术标签:

【中文标题】UIScrollView 没有一直滚动【英文标题】:UIScrollView not scrolling all the way 【发布时间】:2012-11-17 19:07:44 【问题描述】:

我已经编写了一个 UIScrollView 来滚动 320x800,但是它停止向下滚动某种方式,即使我在代码中更改大小它仍然停止向下滚动相同的方式,我唯一的想法是视图的高度是 548px。这是我目前在“ViewController.m”中的代码。

[ScrollView setScrollEnabled:YES];
[ScrollView setContentSize:CGSizeMake(320, 800)];

此代码当前保存在 - (void)viewDidLoad 中。所有链接都是在 Interface Builder 中创建的,编译时我没有收到任何错误。只是觉得我应该说我在 Xcode 4.5.2 中。

感谢任何帮助,谢谢。

编辑:我应该说UIScrollView 仍然滚动,但只是某种方式。

【问题讨论】:

滚动视图的帧大小是多少?? contentSize 设置得更大,因为这样scrollview 才能滚动。 @R.A 我在 Interface Builder 中的框架是 320 width548 height 向下滚动多远。你怎么知道不是800px? @danh 我使用 Interface Builder 将其更改为 320x800 并在底部放置一个标签,然后将其改回并居中,当我滚动时我看不到标签。 【参考方案1】:

通过尝试以下操作,您可以更清楚地了解问题所在...

- (void)viewDidLoad 
    [super viewDidLoad];
    [ScrollView setContentSize:CGSizeMake(320, 800)];  // consider renaming to lowercase 'scrollView'

    for (int i = 50; i < 800; i += 50) 
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, i, 100, 22)];
        label.text = [NSString string withFormat:@"label at y=%d", i];
        [ScrollView addSubview:label];
    

请注意,循环在 750 处结束,所以这是您应该看到的最后一个标签。

【讨论】:

以上是关于UIScrollView 没有一直滚动的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 没有一直滚动

UIScrollview 不会一直滚动

如何在 ios 中为 UIScrollView 设置对齐方式

UiScrollView 高度不正确(没有 AutoConstraint)

UIScrollView 不会一直向上/向下滚动

如何使用autolayout将UIScrollView滚动到viewWillAppear的底部,没有可视化动画