UIScrollView прокручивает случайно при добавлении контента - PullRequest
5 голосов
/ 22 июля 2011

У меня есть представление, где некоторые UITextViews добавляются в UIScrollView.Когда появляется представление, все данные загружаются правильно в scrollView, но у меня также есть tableView, где вы можете выбрать различные налоги для элемента.После выбора элемента в этом табличном представлении scrollView очищается и снова монтируется с новыми элементами.Он заполняет scrollView правильными данными, но как только он заполнен, он прокручивается случайным образом в любую позицию представления прокрутки вместо прокрутки без анимации к вершине.Я проверил свой код и после монтирования scrollView я использую:

[self.scrollPreciosTarifasGUI scrollRectToVisible:CGRectZero animated:NO];

Я также пытался использовать:

[self.scrollPreciosTarifasGUI scrollRectToVisible:CGRectMake(0,0,1,1) animated:NO];

Но у меня тот же результат.

Как я могу это исправить?

Ответы [ 3 ]

2 голосов
/ 22 июля 2011

У меня была очень похожая проблема со случайной прокруткой и UITextViews. Я действительно не могу найти никакого решения, но просто случайно поместил один скроллвью в другой, и это сработало!

Это мой код:

//newDetailViewController.view is uiscrollview type
[self.mainScrollView addSubview:newDetailViewController.view];
[newDetailViewController.view setFrame:CGRectMake(-2, 40, 800, 3300)];
1 голос
/ 29 декабря 2011

Решение, размещенное на http://opensourcehacker.com/2010/08/30/uiscrollview-setcontentoffset-random-scrolling-on-ios-4/, прекрасно сработало для меня.

// Нужно сделать это на iOS 4 или прокрутить представление в случайную позицию [scrollView setContentSize: CGSizeMake (0,0)];

// Обновление представления новым содержимым [self updateContent: ...]

// Мы хотим, чтобы представление отображалось сверху каждый раз, когда оно отображается [scrollView setContentOffset: CGPointMake (0,0) анимированный: НЕТ];

// И установите правильный размер, чтобы включить прокрутку. // contentHeight обновляется при настройке содержимого подпредставлений. [scrollView setContentSize: CGSizeMake (self.view.frame.size.width, contentheight)];

0 голосов
/ 22 июля 2011

попробуйте это просто дикое предположение

[self.scrollPreciosTarifasGUI scrollRectToVisible:CGRectMake(0,
                                                             0,
                                                             self.scrollPreciosTarifasGUI.frame.size.width,
                                                             self.scrollPreciosTarifasGUI.frame.size.height)
                              animated:NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...