Изменение содержимого в UIScrollView - PullRequest
0 голосов
/ 22 декабря 2011

В поисках лучшего подхода: У меня есть панель вкладок и панель навигации. под панелью навигации я положил три кнопки. Один для описания проекта, следующий должен показывать график проекта, а третий задачи проекта. Под кнопками у меня есть прокрутка для контента. Как лучше всего переключать / изменять содержимое просмотра прокрутки в зависимости от того, какая кнопка была использована?

Ответы [ 3 ]

0 голосов
/ 22 декабря 2011

UITextView является подклассом UIScrollView и, таким образом, автоматически реализует поведение прокрутки. Вы можете использовать свойство text, чтобы установить отображаемый текст.

Если то, что вы хотите показать, является не только текстовым, вы можете создать пользовательское представление программно (или загрузить его из NIB) и поместить его в UIScrollView при каждом нажатии кнопки.

0 голосов
/ 22 декабря 2011

Вы можете использовать scrollRectToVisible, что-то вроде этого:

 -(void)scrollToIndex(UIButton*)sender{

    UIButton *btn = (UIButton*)sender;
    NSInteger *index = btn.tag;
    CGRect rect = CGRectMake(CGRectGetWidth(self.contentScrollView.frame)*index, 0,    CGRectGetWidth(self.contentScrollView.frame), CGRectGetHeight(self.contentScrollView.frame));
    [self.contentScrollView scrollRectToVisible:rect animated:YES];

}     

}

Теперь хорошо использовать другой вариант, если пользователь хочет прокрутить представление вручную:

- (void)scrollViewDidScroll:(UIScrollView *)sender {
    // Switch the currentDataView when more than 50% of the previous/next page is visible
    CGFloat pageWidth = sender.frame.size.width;
    int page = floor((sender.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    pageControl.currentPage = page;

   //You can also set the highlight of the button that relate to this view
}
0 голосов
/ 22 декабря 2011

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

...