我试图让我的UITableView
以稳定的速度慢慢向下滚动,我可以指定。我使用过scrollToRowAtIndexPath
,但无论我是否选择动画,它都是一个近乎瞬间的动作。我正在寻找一些动作慢得多的东西。
我确实想知道是否可以使用UIView动画块执行某些操作,一次移动一个indexPath.row
,但由于我的单元格高度不同,这会导致动画速度不均匀。
我可以采取其他任何方式吗?
答案 0 :(得分:3)
我得到了它......
[NSTimer scheduledTimerWithTimeInterval: 0.025 target:self selector:@selector(scrollTableView) userInfo:nil repeats:YES];
和..
- (void) scrollTableView {
float w = 1;
CGPoint scrollPoint = self.tableView.contentOffset;
scrollPoint.y = scrollPoint.y + w;
if (scrollPoint.y >= self.tableView.contentSize.height - (self.tableView.frame.size.height - 100) || scrollPoint.x <= -self.tableView.frame.size.height + 924) {
w *= -1;
}
[self.tableView setContentOffset: scrollPoint animated: NO];
}
答案 1 :(得分:0)
随着时间的推移,您总是可以减少contentOffset y轴。
答案 2 :(得分:0)
在这里,你好友。只需将animateWithDuration更改为更高的秒数(如1或1.5),看它是否达到了您想要的效果。确保在* .m文件中包含QuartzCore库和#import <QuartzCore/QuartzCore.h>
。这很简单
-(IBAction)modeTableSlowly
{
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{
//here tblSimpleTable2 is tableView
[tblSimpleTable2 setFrame:CGRectMake(183, 56, 137, 368)];
} completion:nil];
}