同时滚动两个 UITableView 时 UIScrollView 不流畅?
Posted
技术标签:
【中文标题】同时滚动两个 UITableView 时 UIScrollView 不流畅?【英文标题】:UIScrollView is not smooth while scrolling two UITableViews simultaneously? 【发布时间】:2013-12-09 12:10:23 【问题描述】:我制作了两个 UITABLEVIEW,如下所示
这里一个Table是UITableViewLeft,第二个是UITableViewRight?
@property(nonatomic,retain) IBOutlet UITableView *tableview_newsFeed;
@property(nonatomic,retain) IBOutlet UITableView *tableViewMainNewsFeed;
我正确合成了它们并连接到 xib。
为了同时滚动两个 UITableViews,我编写了如下代码
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
NSLog(@"contentOf Set of ui scrol view");
UIScrollView *otherScrollView = (scrollView == self.leftTableView) ? self.rightTableView : self.leftTableView;
[otherScrollView setContentOffset:[scrollView contentOffset] animated:YES];
一切正常,但并不顺利。
我试图制造威胁,我也使用了下面的块
[UIView animateWithDuration:0.003f
animations:^
];
但没有用户。
如何同时平滑滚动两个 TableView。
谢谢
【问题讨论】:
首先你的视图层次结构是什么 我首先尝试使用 [otherScrollView setContentOffset:[scrollView contentOffset] animated:NO];但是,如果您想要一个好的解决方案,请尝试使用 ONE UICollectionView 你的cellForRowAtIndexPath
方法的实现是什么?
尝试在后台线程而不是主线程中实现图像。
CellForRowAtIndexPath 中除了 CustomCell 的用户之外什么都没有。
【参考方案1】:
问题是当您滚动表格视图时,它正在执行该方法。所以不需要从两者之间的最大tableview长度触发滚动视图的setContentSize方法。 通过计算 tableview 的高度来维护一个 int 变量,并在最后一个 tableview 单元格中输入 scrollView.frame = tableView1.frame; 或 scrollView.frame = tableView2.frame;
【讨论】:
但是我应该在哪里使用 setContentSize 以及如何使用? 没有 ScrollView 绅士,请再次阅读我的问题。我想你没有明白我的意思。你的 ScrollView,一个新的 OBJECT 在哪里?或者它是什么? 嘿伙伴添加一个scrollView并将两个tableview作为子视图,使tableview scrollEnable = FALSE;然后你就可以用两个子视图作为表格视图滚动滚动视图。我认为这是你应该尝试的。同时将scrollview的内容大小设置为tableview的高度【参考方案2】:这可能不是唯一的解决方案,但是您是否也尝试过使单元格中的所有视图都变得不透明?我认为它可能会引发性能问题。
【讨论】:
以上是关于同时滚动两个 UITableView 时 UIScrollView 不流畅?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 UITableView 在同时滚动和更新时会丢失部分标题?
UIScrollView 内的可选 UITableViewCells
如何在 UIViewController 的 tableView 顶部添加自定义视图并能够一起滚动