Изменить UIScrollView contentSize при перезагрузке tableView - PullRequest
0 голосов
/ 22 июля 2010

У моего приложения на iphone есть этот основной вид, который содержит 2 вида прокрутки. Первый вид прокрутки содержит некоторую информацию (для этой страницы включена подкачка, а пользователь прокручивает горизонтально), а второй вид прокрутки содержит вид таблицы.

  1. Я использую UIScrollview для загрузки tableView, хотя tableView является подклассом UIScrollview. Это потому, что я не могу прокрутить просмотр таблицы, если не загружаю его как подпредставление UIScrollview. Это проблема из-за нескольких прокруток?

  2. Поскольку вызов для получения данных для таблицы является асинхронным, я жду запроса на получение данных (я использую ASIHTTPRequest), а затем обновляю tableView, когда данные доступны.

  3. Это прекрасно работает, пока tableView возвращает данные, которые соответствуют UIScrollView contentSize, который я установил при загрузке UIScrollView. Когда количество строк увеличивается, scrollView не может загрузить все из них. Это не может увеличить размер контента. Я пытался установить contentSize при перезагрузке таблицы, но это не имеет никакого значения.

Можно ли каким-либо образом изменить contentSize UIScrollView в зависимости от numberOfRows, возвращаемых tableView? Есть ли в любом случае я могу получить tableView для прокрутки? Я застрял на этом. Ценю любую помощь.

Вот фрагмент кода, который я использую

// UIScrollView и UITableView сохраняют свойства и синтезируют настройки.

<code>
-(void)loadView{
        self.customTableView = [[CustomTableView alloc] init];
        self.tScrollView=[[UIScrollView alloc] initWithFrame:tableScrollViewFrame];
        self.tScrollView.contentSize=CGSizeMake(320,500);
    self.tScrollView.pagingEnabled = NO;
        self.tScrollView.showsHorizontalScrollIndicator = NO;
        self.tScrollView.showsVerticalScrollIndicator = NO;
        self.tScrollView.scrollsToTop = NO;
        self.tScrollView.delegate = self;
    self.tScrollView.autoresizesSubviews = YES;
        [self.tScrollView addSubview:customTableView.tableView];
}</p>

<p>-(void)didFinishLoadingData{
[self.customTableView reloadData];
}
 

1 Ответ

0 голосов
/ 12 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...