thn*_*iss 3 iphone uiscrollview iphone-sdk-3.0
我使用setContentOffset方法自动滚动到特定点而无需用户交互.
[menuScrollView setContentOffset:CGPointMake(600.0,0) animated:YES]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试以循环方式调用相同的方法以减慢滚动的速度时,滚动永远不会发生
for (int i = 1; i<=30; i++) {
[menuScrollView setContentOffset:CGPointMake(600.0-i*10,0.0) animated:YES];
NSLog(@"%f",600.0-i*10);
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中,UIScrollview的滚动只发生一次(第一次迭代(并且它不会滚动剩下的29次交互.这里有什么问题?
我认为当它处于这样的循环中时,UI将不会更新.
尝试使用NSTimer,而不是像这样把它放在一个紧密的循环中.
scrollTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(scrollView) userInfo:nil repeats:YES];
- (void) scrollView {
CGFloat currentOffset = menuScrollView.contentOffset.x;
CGFloat newOffset = currentOffset - 10;
[menuScrollView setContentOffset:CGPointMake(newOffset,0.0) animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
注意:这是我的头脑,所以我不保证它会起作用.
| 归档时间: |
|
| 查看次数: |
6733 次 |
| 最近记录: |