Как программно принудительно использовать прокрутку с помощью UIScrollView?

У меня установлен горизонтальный UIScrollview (это означает, что он не прокручивается вверх и вниз, а прокручивается только влево-вправо) и при запуске приложения , Я хочу, чтобы этот режим прокрутки прокручивался влево, затем вправо - своего рода «демонстрация» его способности прокручивать - и, наконец, останавливался, позволяя пользователю взять на себя управление и управлять прокруткой вручную с помощью пальца. Все работает - за исключением этой демонстрационной прокрутки влево-вправо при загрузке.

Я не использую Interface Builder ни для чего из этого, я все делаю с помощью кода:

//(this is in viewDidLoad:)
// Create the scrollView:
UIScrollView *photosScroll = [[UIScrollView alloc] initWithFrame: CGRectMake(0, 0, 320, 200)];
[photosScroll setContentSize: CGSizeMake(1240, 200)]; 
// Add it as a subview to the mainView
[mainView addSubview:photosScroll];


// Set the photoScroll's delegate: 
photosScroll.delegate = self;

// Create a frame to which to scroll:   
CGRect frame = CGRectMake(10, 10, 80, 150);
// Scroll to that frame:
[photosScroll scrollRectToVisible: frame animated:YES];

Итак, scrollView загружается успешно, и я могу прокручивать его пальцем влево и вправо - но это не так. Не делайте эту "автопрокрутку", как я и надеялся.

  • Я пробовал вызвать scrollRectToVisible до и после добавления scrollView в качестве подпредставления - не сработало.
  • Думаете, может быть, это должно произойти в loadView, а не в viewDidLoad? Но если да, то как?

Есть идеи?

6
задан logancautrell 24 October 2011 в 03:38
поделиться