ios-自动滚动scrollview的问题

作者:用户 来源:互联网 浏览:406 次 时间:2016-07-20 16:01:50

iosiphone

ios-自动滚动scrollview的问题 - 摘要: 自动滚动scrollview的问题我的问题是,我要展现给用户的内容放在scrollview中,让内容从上到底自动滚动,我最开始用的是DDAutoscrollview,没实现,哪位好心人帮帮忙吧。不胜感

问题描述

自动滚动scrollview的问题

我的问题是,我要展现给用户的内容放在scrollview中,让内容从上到底自动滚动,我最开始用的是DDAutoscrollview,没实现,哪位好心人帮帮忙吧。不胜感激。

.h文件

 @interface Interface1 : UIViewController {    IBOutlet UIScrollView *scroller;    IBOutlet UILabel *warnung;}@property (nonatomic retain) IBOutlet UIScrollView* scrollView;

.m文件

- (void)viewDidAppear:(BOOL)animated{    [super viewDidAppear:animated];    CGPoint bottomOffset = CGPointMake(self.scrollView.contentOffset.x self.scrollView.contentSize.height - self.scrollView.bounds.size.height);    [self.scrollView setContentOffset:bottomOffset animated:NO];    CGPoint newOffset = self.scrollView.contentOffset;    newOffset.y = 0;    [self.scrollView setContentOffset:newOffset animated:YES];}- (void)viewDidLoad{    [scroller setScrollEnabled:YES];    [scroller setContentSize:CGSizeMake(320 420)];        [super viewDidLoad];}

thanks

解决方案

使用setContentOffset:animated:

UIScrollView *scrollView = ...;CGPoint newOffset = scrollView.contentOffset;newOffset.y = 0;[scrollView setContentOffset:newOffset animated:YES];

如果你想要开场动画的效果,在scrollView的viewcontroller实现

- (void)viewDidLoad{    [super viewDidLoad];    // ...    CGPoint bottomOffset = CGPointMake(self.scrollView.contentOffset.x self.scrollView.contentSize.height - self.scrollView.bounds.size.height);    [self.scrollView setContentOffset:bottomOffset animated:NO];}- (void)viewDidAppear:(BOOL)animated{    [super viewDidAppear:animated];    CGPoint newOffset = self.scrollView.contentOffset;    newOffset.y = 0;    [self.scrollView setContentOffset:newOffset animated:YES];}

补充:

移动的慢点,用timer实现:

- (void)viewDidLoad{    [super viewDidLoad];    // ...    CGPoint bottomOffset = CGPointMake(self.scrollView.contentOffset.x self.scrollView.contentSize.height - self.scrollView.bounds.size.height);    [self.scrollView setContentOffset:bottomOffset animated:NO];}- (void)viewDidAppear:(BOOL)animated{        [super viewDidAppear:animated];    CGPoint bottomOffset = CGPointMake(self.scrollView.contentOffset.x self.scrollView.contentSize.height - self.scrollView.bounds.size.height);    //设置延迟时间    float scrollDurationInSeconds = 4.0;    //计算timer间隔    float totalScrollAmount = bottomOffset.y;    float timerInterval = scrollDurationInSeconds / totalScrollAmount;    [NSTimer scheduledTimerWithTimeInterval:timerInterval target:self selector:@selector(scrollScrollView:) userInfo:nil repeats:YES];}- (void)scrollScrollView:(NSTimer *)timer{    CGPoint newScrollViewContentOffset = self.scrollView.contentOffset;    //向上移动 1px    newScrollViewContentOffset.y -= 1;    newScrollViewContentOffset.y = MAX(0 newScrollViewContentOffset.y);    //如果到顶了,timer中止    if (newScrollViewContentOffset.y == 0) {        [timer invalidate];    }    //最后设置scollView's contentOffset    self.scrollView.contentOffset = newScrollViewContentOffset;}
【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击
云栖社区(yq.aliyun.com)为您免费提供ios-自动滚动scrollview的问题相关信息,包括 iosiphone 的信息 ,所有ios-自动滚动scrollview的问题相关内容均不代表云栖社区的意见! 该页面h5页面的地址是:https://m.aliyun.com/yunqi/wenzhang/show_101913,您可以点击ios-自动滚动scrollview的问题-手机站访问。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备

热点导航