我遇到了一个问题,我在底部有一个uiview,我需要添加一些我想要保持静态的标签。然后我在uiview的顶部添加一个滚动视图和一些可滚动的内容。最后我将原始uiview设置为表headerView。尽管contentSize正确,但scrollView仍未滚动。
UIView *header=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100*objects.count, 150)];
[header setBackgroundColor:[UIColor redColor]];
//set up scroll view
UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, 100*objects.count, 110)];
scrollView.delegate=self;
scrollView.contentSize=CGSizeMake(100*objects.count, scrollView.frame.size.height);
[scrollView setUserInteractionEnabled:YES];
[scrollView setScrollEnabled:YES];
[header addSubview:scrollView];
[scrollView setShowsHorizontalScrollIndicator:YES];
[self.tableView setTableHeaderView:header];
//add stuff to scroll view
但是,当我将scrollView设置为tableHeaderView时,滚动效果非常好
[self.tableView setTableHeaderView:scrollView];
有人可以建议我如何将原始的botton uiview设置为标题视图并让scrollView仍然有效吗?
答案 0 :(得分:1)
解决方案是使用滚动视图的scrollViewDidScroll委托方法,并按滚动的数量调整内容偏移量。有点hacky,仍然不知道为什么这个scrollview问题正在发生,但它现在有效。
看起来像
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[self.featuredLabel setFrame:CGRectMake(5+scrollView.contentOffset.x, 5, self.view.frame.size.width, 18)];
[self.recentLabel setFrame:CGRectMake(5+scrollView.contentOffset.x, 100, self.view.frame.size.width, 18)];
}
无法找到提到它的帖子