我有一个 iPad 应用程序(XCode 4.6.3、iOS 6.2、ARC 和 Storyboards),它在其中一个场景的下半部分具有以下结构(所有网格都是 UIView,SubViewData 也是如此)。
目的是拥有看起来像电子表格的东西;我需要能够水平滚动并且左侧网格将保持锁定,如果我垂直滚动,顶部网格将保持锁定。
这是它现在的样子,没有滚动(右边和下面还有更多):
更新: 这是定义 UIViews 的代码:
我查看了 SO 和 Google 并没有找到这样的例子。有人可以告诉我我需要更改什么才能使此代码正常工作,或者给我一些好的文档,我可以在其中获得有关contentOffset的详细信息吗?(我已经看过 UIScrollView 了,没用!)
已解决- 它现在正在工作......这就是我在 Fogmeister 的帮助下让它工作的方式:
- 创建了一个单独的顶行和左行 UIView 来保存网格小时和员工姓名
- 在 UIScrollViews 中嵌入了那些新的 UIViews(编辑器 -> 嵌入在滚动视图中)
- 按照 Fogmeister 关于代码的说明进行操作。
这是新的结构:
这是实现它的代码:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint mainOffset = [scrollView contentOffset];
NSLog(@"\n\nmainOffset.x: %f\nmainOffset.y: %f", mainOffset.x, mainOffset.y);
// set the horizontal offset of the main view onto the column headers
[self.topGridSV setContentOffset:CGPointMake(mainOffset.x, 0)];
if(mainOffset.x < 0) {
[self.topGridSV setContentOffset:CGPointMake(0, 0)];
[self.schedScrollView setContentOffset:CGPointMake(0, 0)];
}
// set the vertical offset onto the row headers
[self.leftGridSV setContentOffset:CGPointMake(0, mainOffset.y)];
if(mainOffset.y < 0) {
[self.leftGridSV setContentOffset:CGPointMake(0, 0)];
[self.schedScrollView setContentOffset:CGPointMake(0, 0)];
}