iphone - UIScrollView 自动滚动

标签 iphone iphone-sdk-3.0 uiscrollview

我使用 setContentOffset 方法自动滚动到特定点,无需用户交互。

[menuScrollView setContentOffset:CGPointMake(600.0,0) animated:YES]

但是当我尝试以循环方式调用相同的方法以减慢滚动速度时,滚动永远不会发生

for (int i = 1; i<=30; i++) {
        [menuScrollView setContentOffset:CGPointMake(600.0-i*10,0.0) animated:YES];
        NSLog(@"%f",600.0-i*10);        
    }

在上面的代码段中,UIScrollview 的滚动仅发生一次(第一次迭代(并且在剩余的 29 次迭代中它不会滚动。这里有什么问题?

最佳答案

我认为当它处于这样的循环中时,用户界面将不会更新。

尝试使用 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];
}

注意:这是我的想法,所以我不保证它会起作用。

关于iphone - UIScrollView 自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772062/

相关文章:

iphone - UIViewController 可以包含多个 UIView 吗?

设备上的 iPhone SDK 问题

ios - UIScrollView contentInset 属性有什么用?

ios - 如何滚动到对象的中心位置

iphone - UIButton 在第一次点击时不工作

iphone - 如何在 objective-c 中将方法设置为类方法的参数

java - 如何在iPhone模拟器中运行.java文件或执行java应用程序?

iphone - UITableView 选择逐渐消失

ios - UIPageControl 显示不正确的页面

iPhone 短信功能