objective-c - 带分页的自动 UIScrollView

标签 objective-c timer uiscrollview nstimer uipagecontrol

我有一个启用了分页的 UIScrollView。但是我希望这个 ScrollView 在经过一定时间后向右滚动。有没有简单的方法来实现这个,还是我需要使用计时器并以编程方式滚动 ScrollView ?

类似于此网站的标题:http://denederlandsewateren.nl/ [注意文本“De Nederlandse Wateren”每 x 秒更改一次]

最佳答案

你需要一个小方法来帮助你滚动到准确的页面,这个没有实现,但它很简单,假设你的 ScrollView 叫做 myScrollview

这假设您正在水平滚动,您可以切换代码以满足您的需要

-(void)scrollToPage:(NSInteger)aPage{
    float myPageWidth = [myScrollView frame].size.width;
    [myScrollView setContentOffset:CGPointMake(aPage*myPageWidth,y) animated:YES];
}

然后你设置一个计时器每 5 秒调用一次这个方法,例如:

[[NSTimer scheduledTimerWithTimeInterval:5
                                  target:self
                                selector:@selector(scrollPages)
                                userInfo:Nil
                                 repeats:YES] fire];

下一步是创建将由计时器触发并滚动到下一页的方法,我称之为-(void)scrollPages,它还需要你有两个全局变量调用currentPagenumberOfPages,都是 NSInteger

类型
-(void)scrollPages{
    [self scrollToPage:currentPage%numberOfPages];
    currentPage++;
}

如果有什么不明白的地方请告诉我!

关于objective-c - 带分页的自动 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168741/

相关文章:

objective-c - 使用钥匙串(keychain)在 xcode 4 中存储用户名和密码

c - struct itimerspec 中的浮点值

iphone - UIScrollView - 一种使一个 ScrollView 小于另一个 ScrollView 的方法?

ios - 尝试实现 Facebook 即时文章页面,但我无法获取 ImageView 高度以进行动画处理

objective-c - 当数组没有任何内容时如何取出数组的第一个组件

iphone - 将 NSTimeInterval 转换为国际通用的字符串的正确方法是什么?

ios - 如何创建居中对齐的 Nsstring

c++ - 带有 chrono::duration 参数和 chrono::duration::count 返回结果的模板函数

java - 如果方法本身需要一些时间,我们如何仍然每 X 秒运行一次方法?

ios - 检查哪个 UIScrollView 正在滚动?