【问题标题】:UIScrollView is not scrolling even with setting contentSize即使设置 contentSize,UIScrollView 也不会滚动
【发布时间】:2014-09-23 16:28:01
【问题描述】:

我的UIScrollView 没有滚动。 (我试图让它水平滚动)我将 contentSize 设置为(960、300)。我在 storyboard 中将 UIScrollView 的 framesize 设置为 width:320 height:300

我在滚动视图中有一个容器视图,其宽度为960 points

在 320 点,我有一个背景颜色为棕色的子视图。当我滚动时,我可以看到棕色的子视图,但是当我放开拖动时它会弹回来。

这是我的 viewDidLoad 方法:

- (void)viewDidLoad
    [super viewDidLoad];
    self.scrollView.scrollEnabled = YES;

    [self.scrollView setFrame:CGRectMake(0,0,320,300)];
    self.scrollView.contentSize = CGSizeMake(960, 300);

    UIView *subview1 = [[UIView alloc] initWithFrame:CGRectMake(320, 0, 320, 300)];
    [subview1 setBackgroundColor:[UIColor brownColor]];

    UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 960, 300)];
    [containerView addSubview:subview1];

    [self.scrollView addSubview:containerView];
}

【问题讨论】:

  • 您是否启用了自动布局选项?

标签: ios objective-c iphone uiscrollview


【解决方案1】:

这是一个以编程方式创建滚动视图的示例代码:

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
scrollView.backgroundColor = [UIColor redColor];
scrollView.scrollEnabled = YES;
scrollView.contentSize = CGSizeMake(960, 300);
[self.view addSubview:scrollView];

UIView *subview1 = [[UIView alloc] initWithFrame:CGRectMake(320, 0, 320, 300)];
[subview1 setBackgroundColor:[UIColor brownColor]];

UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 960, 300)];
containerView.backgroundColor = [UIColor greenColor];
[containerView addSubview:subview1];

[scrollView addSubview:containerView];

所以,您的代码没有问题,但您的故事板配置有问题。

【讨论】:

    【解决方案2】:

    我对您要完成的工作有一些想法。我不知道你的代码有多老了,但今天我们有很多更好的方式来使用滚动视图,它们不包括设置内在大小或名望。

    好吧,尽管我对代码的目标有疑问,但我还是尝试在这里运行它,使用故事板、单个视图、默认配置的 scrollView 并且实验进行得很好,你的代码确实有效,我想也许你有一些你的滚动视图有问题。我知道这听起来很奇怪,但您是否检查过 scrollView 是否选中了“启用滚动”属性?

    如果您能提供有关此问题的更多信息,我可以为您提供帮助。

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 2011-11-02
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 2014-11-02
      • 2012-02-11
      相关资源
      最近更新 更多