2014-05-16 219 views
0

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

首先,我用xib文件创建了一个uiviewcontroller,并将其设置为自由形式并排列其大小,并在视图上添加滚动视图。

enter image description here

然后加入其作为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]; 
    } 
} 

滚动视图的内容大小是iPad上的(768,200)。 我试图设置content size(1920,200)viewDidLoad没有工作,然后viewDidAppear没有工作,然后viewDidLayoutSubviews没有工作。

然后我检查了use auto layout箱,并试图通过去editor->resolve auto layout issues->add constraints

如何使滚动视图滚动到添加常数?

注意:父视图使用自动布局和故事板。

+0

你有太多的东西叫做'滚动views',这使得任何人都难以明白你正在尝试做的。例如,我猜'_scrollView'实际上是内容视图。此外,名为'ScrollView'的类显然是一个UIViewController。如果这些猜测是正确的,那么你需要首先实例化视图控制器,然后将内容视图添加为来自nib的'UIScrollView'的子视图。 – user3386109

回答

1

我想问题的原因是零宽度scrollView
当调用此:

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

_scrollView与宽度self.scrollView.frame.size.width发起的,但在这一刻self.scrollView是零,因为它涉及到的实例变量_scrollView还未启动。

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