2014-05-16 7 views
0

Я знаю, что есть десятки подобных вопросов о scrollview, но я пробовал все, Scrollview не прокручивается.UIScrollview не прокручивается

Сначала я создал файл uiviewcontroller с xib-файлом и установил его в произвольную форму и упорядочил его размер и добавил прокрутку в представлении.

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]; 
    } 
} 

размер Содержание зрения прокрутки является (768,200) на IPad. Я попытался установить content size на (1920,200) в viewDidLoad не работал, то viewDidAppear не работал, то viewDidLayoutSubviews не работал.

Затем я проверил use auto layout окно и попытался добавить константы, перейдя editor->resolve auto layout issues->add constraints

Как я могу сделать Scrollview прокручивать?

Примечание: Родительский вид использует автоматическую компоновку и раскадровку.

+0

У вас есть слишком много вещей, называемых 'прокрутки views', что делает его трудным для любого, чтобы понять, что вы пытаетесь сделать. Например, я предполагаю, что '_scrollView' на самом деле является представлением содержимого. Также класс, называемый 'ScrollView', по-видимому, является UIViewController. Если эти предположения верны, вам нужно сначала создать экземпляр контроллера представления, а затем добавить представление содержимого в виде подсмотра 'UIScrollView', который появился из nib. – 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)];

Смежные вопросы