2013-11-23 3 views
0

Я добавляю UIScrollView к просмотру многократного использования, который я создаю, а затем добавляю это многоразовое представление в UIViewController.UIScrollView не работает (не может прокручиваться)

В моем многоразовом зрении я добавляю UIViews в UIScrollView:

int yLocation = 20; 
    for (int i= 0 ; i < 5; i++) { 
     UIView *tempView = [[offerCell alloc]initWithDelegate:self]; 
     tempView.frame = CGRectMake(5, yLocation, 290.0F, 70.0F); 

     yLocation += 90; 

     [self.scrollView addSubview:tempView]; 
     UILabel *tempLabel = [tempView viewWithTag:1000]; 
     tempLabel.text = [NSString stringWithFormat:@"Label Number %d" , i]; 
     [tempLabel sizeThatFits:CGSizeMake(1000, 1000)]; 
    } 
    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width, yLocation); 

Затем я добавляю в UIView к моему UIViewController

UIView *tempView = [[BuyTokensView alloc] initWithDelegate:self andViewController:self]; 
[self.view addSubview:tempView]; 
CGPoint point = CGPointMake(10, 0); 
tempView.center = point; 

Представление отображается правильно, но я могу» t прокрутите UIScrollView. Высота моего UIScrollView меньше, чем высота, которую я назначаю в ContentSize, поэтому почему я не могу прокручивать?

Вот картина UIViewController: image 1

+0

журнал scrollview высота. Убедитесь, что вы добавляете scrollview в качестве subview. –

+0

Я добавляю scrollview как subview, я написал это, и высота в порядке. –

+0

Я думаю, вы должны добавить tempview над scrollview [self.scrollView addSubView: tempView] –

ответ

1

Либо вы можете попытаться отключить autolayout или использовать стратегии в этой технической записке:

https://developer.apple.com/library/ios/technotes/tn2154/_index.html#//apple_ref/doc/uid/DTS40013309

+0

Я пробовал смешанный подход, который просто устанавливал мой 'scrollView.translatesAutoresizingMaskIntoConstraints = NO;', но это не помогло. Я также попытался отключить AutoLayout, и это не помогло, поэтому я не думаю, что проблема связана с AutoLayout. –

0

Я использую Xcode 6/iOS 8+ теперь с включенной автоматической компоновкой, и у меня была такая же проблема, в первую очередь, удаление автоматической компоновки вообще не работает, поэтому, чтобы прокрутить прокрутку по вертикали, я убедился в следующем:

  1. Свиток высота размер просмотр контента должен быть больше, чем высота экрана, это почти само собой разумеется ...
  2. Верхний/нижний/левый/правый ограничение представления прокрутки должен быть прижат, я это сделал используя раскадровку, поэтому код не отображается здесь

Если вы хотите, чтобы прокрутка просматривалась прокручиваемым по горизонтали, убедитесь, что ширина ее содержимого больше ширины экрана, а другое правило применяется одинаково.

Это сработало для меня, надеюсь, что это может помочь кому-то.

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