【发布时间】:2013-11-29 08:42:16
【问题描述】:
我在 uiscrollview 中有两个 uitableviews。我在一个 ipad 屏幕上显示滚动视图,因此它同时显示两个表视图(即:左侧的表视图和右侧的表视图)。
通过使用以下代码,我可以对工作表视图进行“公共滚动”(您滚动一个表视图并同步移动另一个表视图):
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
static BOOL isObservingContentOffsetChange = NO;
if([object isKindOfClass:[UITableView class]]
&& [keyPath isEqualToString:@"contentOffset"])
{
if(isObservingContentOffsetChange) return;
isObservingContentOffsetChange = YES;
if(theTableViewLEFT != object)
{
CGPoint offset = [[change valueForKey:NSKeyValueChangeNewKey] CGPointValue];
theTableViewLEFT.contentOffset = offset;
}
if(theTableViewRIGHT != object)
{
CGPoint offset = [[change valueForKey:NSKeyValueChangeNewKey] CGPointValue];
theTableViewRIGHT.contentOffset = offset;
}
isObservingContentOffsetChange = NO;
return;
}
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}
所以,这很好用。它是一个滚动视图,总共插入了 2 个表格视图。每个视图的滚动都很好。问题?当一个表比另一个表长(离开屏幕)并且您滚动较短的表时,它们都会在较短的表结束处停止垂直滚动。即:如果左表比右表长,并且您垂直滚动右侧,它们都会停止滚动到右表结束的位置。但是,如果您滚动左侧表格,那么它们都会一直滚动到左侧表格的末尾,即:右侧表格向上滚动并离开屏幕,而您仍然可以看到较长表格中的内容。这就是我希望它运行的方式。
我真的不能告诉人们使用更长的表格滚动。如何让两个表格都滚动较长表格的整个高度?
【问题讨论】:
标签: ios ipad uitableview uiscrollview