寻找最佳方法: 我有一个标签栏和一个导航栏。在导航栏下面我放了三个按钮。 一个用于项目描述,下一个应该显示项目进度表,第三个应该显示项目任务。 在按钮下方,我有一个滚动视图的内容。 根据使用的按钮,切换/更改scrollview内容的最佳方法是什么?
答案 0 :(得分:0)
我会构建3个不同的视图,当按钮点击清除滚动视图然后将新视图添加到滚动视图,然后调整滚动视图的内容大小。
答案 1 :(得分:0)
UITextView是UIScrollView的子类,因此自动实现滚动行为。您可以使用text属性设置显示的文本。
如果您要显示的内容不仅仅是文本内容,您可以通过编程方式创建自定义视图(或通过从NIB加载它),并在每次单击按钮时将其放入UIScrollView中。
答案 2 :(得分:0)
您可以使用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
}