0

我知道关于滚动视图有几十个类似的问题,但我已经尝试了一切,Scrollview不是滚动。

首先,我创建了一个uiviewcontroller带有 xib 文件的文件,并将其设置为自由格式并排列它的大小,并在视图中添加了一个滚动视图。

在此处输入图像描述

然后将它作为一个添加childviewcontroller到另一个视图控制器。

-(void)scrollViewSetup
{
    if (!_scrollView) {
        _scrollView=[[UIView alloc] initWithFrame:CGRectMake(0,200,self.scrollView.frame.size.width,200)];
        [self.view addSubview:_scrollView];

        ScrollView *displayPortf=[[ScrollView alloc] init];
        //add as a child view controller here
        //displayPortf.delegate=(id)self;
        [_scrollView addSubview:displayPortf.view];
        [displayPortf didMoveToParentViewController:self];
        [self addChildViewController:displayPortf];
    }
}

滚动视图的内容大小(768,200)在 iPad 上。我尝试设置content size为无效然后无效然后无效(1920,200)viewDidLoadviewDidAppearviewDidLayoutSubviews

然后我选中了该use auto layout框并尝试通过添加常量editor->resolve auto layout issues->add constraints

如何使滚动视图滚动?

注意:父视图使用自动布局和情节提要。

4

1 回答 1

1

我想问题的原因是scrollView.
当你调用这个时:

_scrollView=[[UIView alloc] initWithFrame:CGRectMake(0,200,self.scrollView.frame.size.width,200)];

_scrollView以 width 启动self.scrollView.frame.size.width,但此时为 nil,因为它与尚未启动 self.scrollView的实例变量有关。_scrollView

尝试为视图宽度设置一些非零浮点值:
_scrollView=[[UIView alloc] initWithFrame:CGRectMake(0,200,768,200)];

于 2014-05-16T20:33:45.490 回答