故事板的UIScrollView contentSize?(Storyboard UIScrollV

2019-08-19 03:44发布

我觉得我对每一个可能的原因感动停止这一点,但我有我的故事板一个UIScrollView迷上了一个出口,并在viewDidLoad中我设置了contentSize,这样我可以滚动(是不是我的帧大小大)!

不过,无论我改变,我只是不能滚动! 我有几个文本框的滚动视图我的弹跳和启用,所以我可以看到,在它与我的子视图向上和向下测试其移动,但无论当我设置contentSize到我不能滚动。

什么我可能会丢失/应检查? 这是一个已知问题的UIScrollView在故事板被使用?

什么更奇怪的是,我可以做这样的事情: [scrollView setBackgroundColor:[UIColor blueColor]]; 我有一个蓝色的滚动视图! 但是设定内容大小失败。

编辑

我唯一的代码(否则滚动视图只是投进故事板视图控制器):

-(void)viewDidAppear:(BOOL)animated
{
    [scrollView setContentSize:CGSizeMake(320, 640)];
}

登录框,出来的预期:

width: 320.00
height: 504.00

编辑2

原来,除去我的故事板滚动视图中的任何子视图让它滚动就好了。 如果我在所有通过故事板的任何子视图添加到它,甚至是空白的全新的UIButton它只是将不适用contentSize /允许滚动。

Answer 1:

使用ViewDidLayoutSubview

- (void)viewDidLayoutSubviews
{
    [_scrollView setContentSize:CGSizeMake(320, 500)];
}

UIViewController的方法调用序列如下

  • awakeFromNib
  • viewDidLoad中
  • viewWillAppear中
  • viewWillLayoutSubviews
  • viewDidLayoutSubviews
  • viewDidAppear


Answer 2:

viewDidLoad中是不把依靠IB对象的帧大小码的好地方。 如果您需要登录viewDidLoad中滚动视图的contentSize,你会发现它是(0,0)。 代码(你设置的内容的大小)移动到viewDidAppear,它会正常工作。



Answer 3:

检查这些

  • 用户交互启用
  • 出口连接
  • 包括contentsize比范围更大
  • 滚动启用

例如

scrollView.contentSize = CGSizeMake(320, 640);

我的故事板看起来像这样了滚动[工作]



Answer 4:

我有完全相同的代码在同一行中viewDidAppear没有奏效

它搬到viewDidLayoutSubviews, 它工作正常。

[scrollView setContentSize:CGSizeMake(320, 500)];

感谢trick14的答案。



Answer 5:

问题是最有可能与自动布局。 使用的UIScrollView自动版式时需要特别注意。

速战速决 - 绑定滚动的子视图到它的顶部和底部空间的一个是上海华(滚动视图)。

龙的故事:在做题: UIScrollView的不是不管大contentSize的滚动 , UIScrollView的不会滚动,甚至在内容大小设置 , UIScrollView中不使用自动布局约束

苹果的文档: https://developer.apple.com/library/ios/technotes/tn2154/_index.html



Answer 6:

Trip14的回答为我工作。 在SWIFT我编写它:

override func viewDidLayoutSubviews() {

          (self.view as! UIScrollView).contentSize = CGSizeMake(600, 600)
        }


Answer 7:

这似乎是一个类似的问题。 其他故事

这可能是在故事板自动布局或限制的问题。



文章来源: Storyboard UIScrollView contentSize?