微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Three20对表格中的行/单元格进行重新排序时,表格视图不会滚动

如何解决使用Three20对表格中的行/单元格进行重新排序时,表格视图不会滚动

| 当我在Three20 TTTableViewController中对行/单元格进行重新排序(编辑表并上下移动单个单元格)时,它不会随着单元格移到表格视图的边界之外而滚动。当我确实将单元格向上拖动到边界之外时,它会自动为该单元格设置动画,并向上移动出视图,而无需滚动。这使得无法有效地将单元重新排序到当前可见位置之外的位置。 我已经在使用和不使用Three20的情况下进行了测试,并且在使用Three20实现订购时,它仅不会滚动表格。     

解决方法

        显然,Three20 \的
TTTableView
实现会覆盖ѭ1的
- (void)setContentSize:(CGSize)size;
- (void)setContentOffset:(CGPoint)point;
这些是为了防止contentOffset随表的内容大小或高度的变化而被错误地更改,尽管它在编辑模式下移动行时无意间阻止了表的滚动。 我注释掉了这些方法,然后可以使用所需的功能。     ,        Three20喜欢使用setContentOffset和setContentSize方法重写来控制滚动行为。滚动行为由scrollEnabled属性控制。 TTTableViews是scrollEnabled = YES,但是在此方法称为scrollEnabled = NO时,在对行进行重新排序时需要将其重置。 (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath到ProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath { tableView.scrollEnabled =是; }     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。