返回顶部
首页 > 资讯 > 精选 >iOS如何实现循环滚动公告栏
  • 227
分享到

iOS如何实现循环滚动公告栏

2023-06-14 07:06:40 227人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关iOS如何实现循环滚动公告栏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ioS实现循环滚动公告栏的具体代码如下:#import <UIKit/UIKit.h&

这篇文章将为大家详细讲解有关iOS如何实现循环滚动公告栏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

ioS实现循环滚动公告栏的具体代码如下:

#import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN@interface XtayNoticeScrollView : UIView - (instancetype)initWithFrame:(CGRect)frame titleArray:(NSArray<NSString *> *)titleArray; - (void)openTimer;    - (void)closeTimer; @end NS_ASSUME_NONNULL_END
#define ROW_H  self.bounds.size.height #import "XtayNoticeScrollView.h" @interface XtayNoticeScrollView () /// scrollView@property (nonatomic, strong) UIScrollView *bgScrollView;/// titleArr@property (nonatomic, copy) NSArray *titleArr;/// timer@property (nonatomic, strong) NSTimer *scrollTimer; @end @implementation XtayNoticeScrollView - (instancetype)initWithFrame:(CGRect)frame titleArray:(NSArray<NSString *> *)titleArray {  self = [super initWithFrame:frame];  if (self) {    self.titleArr = titleArray;    [self addSubview:self.bgScrollView];    [self createBaseView];    [self openTimer];  }  return self;} // MARK: - 开启定时器- (void)openTimer {  if (!_scrollTimer) {    _scrollTimer = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(timerMoved) userInfo:nil repeats:YES];    [[NSRunLoop currentRunLoop] addTimer:_scrollTimer fORMode:NSRunLoopCommonModes];  }} // MARK: - 关闭定时器- (void)closeTimer {  [_scrollTimer invalidate];  _scrollTimer = nil;} - (UIScrollView *)bgScrollView {  if (!_bgScrollView) {    _bgScrollView = [[UIScrollView alloc] initWithFrame:self.bounds];    _bgScrollView.scrollEnabled = NO;    _bgScrollView.showsVerticalScrollIndicator = NO;    _bgScrollView.showsHorizontalScrollIndicator = NO;    _bgScrollView.backgroundColor = UIColor.whiteColor;  }  return _bgScrollView;} // MARK: - 创建所有视图- (void)createBaseView {  // 安全判断  if (self.titleArr.count == 0) {    return;  }  // 为了展示滑动过程的流畅性,重新处理数组  NSMutableArray *dataMArray = [NSMutableArray arrayWithCapacity:0];  [dataMArray addObjectsFromArray:_titleArr];  [dataMArray addObject:_titleArr.firstObject];  for (int i = 0; i<dataMArray.count; i++) {    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, ROW_H*(i%dataMArray.count), self.bgScrollView.bounds.size.width, ROW_H)];    label.text = dataMArray[i];    label.font = [UIFont systemFontOfSize:15];    label.textColor = [UIColor blackColor];    label.numberOfLines = 0;    [_bgScrollView addSubview:label];  }  _bgScrollView.contentSize = CGSizeMake(0, ROW_H*dataMArray.count);} // MARK: - 定时器调用方法- (void)timerMoved {  CGFloat pageY = self.bgScrollView.contentOffset.y/ROW_H;  int pageIntY = pageY;  if (pageIntY >= self.titleArr.count) {    [self.bgScrollView setContentOffset:CGPointMake(0, 0) animated:NO];  } else {    [self.bgScrollView setContentOffset:CGPointMake(0, (pageIntY+1)*ROW_H) animated:YES];  }}

VC调用代码:

XtayNoticeScrollView *notiView = [[XtayNoticeScrollView alloc] initWithFrame:CGRectMake(50, 100, self.view.frame.size.width-100, 50) titleArray:@[@"我是第一个数据-11111111111111", @"我是第二个数据-2222222", @"我是第三个数据-33333333"]];  [self.view addSubview:notiView];

运行后的效果视频:

iOS如何实现循环滚动公告栏

公告内容用的label,无点击效果,若需要。替换为button,添加手势,都可以。

关于“iOS如何实现循环滚动公告栏”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: iOS如何实现循环滚动公告栏

本文链接: https://lsjlt.com/news/268721.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • iOS如何实现循环滚动公告栏
    这篇文章将为大家详细讲解有关iOS如何实现循环滚动公告栏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。iOS实现循环滚动公告栏的具体代码如下:#import <UIKit/UIKit.h&...
    99+
    2023-06-14
  • iOS实现循环滚动公告栏
    本文实例为大家分享了iOS实现循环滚动公告栏的具体代码,供大家参考,具体内容如下 封装了一个继承于UIView的类,如下: #import <UIKit/UIKit.h&g...
    99+
    2022-05-31
    iOS 滚动 公告栏
  • 简单实现Android滚动公告栏
    实现的效果,是一个滚动的公告栏,是这样的: 可以看到这个公告栏一方面是滚动,另外一方面是可点击。 实现的思路: 1.textView放在ViewFlipper中实现滑动效果(...
    99+
    2022-06-06
    公告栏 Android
  • vue实现公告消息横向无缝循环滚动
    本文实例为大家分享了vue实现公告消息横向无缝循环滚动的具体代码,供大家参考,具体内容如下 该组件实现了公告消息的无缝横向滚动。我命名为marqueex.vue文件,感谢原来博主的分...
    99+
    2024-04-02
  • vue怎么实现公告消息横向无缝循环滚动
    这篇文章主要讲解了“vue怎么实现公告消息横向无缝循环滚动”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现公告消息横向无缝循环滚动”吧!marqueex.vue<templ...
    99+
    2023-06-29
  • js实现公告自动滚动
    本文实例为大家分享了js实现公告自动滚动的具体代码,供大家参考,具体内容如下 html <div class="test003">           <div ...
    99+
    2024-04-02
  • 微信小程序中如何实现左右滚动公告栏效果
    这篇文章主要介绍微信小程序中如何实现左右滚动公告栏效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码如下<view class='notice-wrap&...
    99+
    2024-04-02
  • js如何实现列表循环滚动
    本篇内容主要讲解“js如何实现列表循环滚动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js如何实现列表循环滚动”吧!先介绍几个属性clientHeight 元素的高度clientTop 元素顶...
    99+
    2023-07-02
  • css如何实现文字循环滚动效果
    这篇文章主要介绍“css如何实现文字循环滚动效果”,在日常操作中,相信很多人在css如何实现文字循环滚动效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何实现文字循...
    99+
    2024-04-02
  • vue实现循环滚动图片
    本文实例为大家分享了vue实现循环滚动图片的具体代码,供大家参考,具体内容如下  效果(循环滚动,可切换方向): 轮播组件BaseSwiper.vue: <temp...
    99+
    2024-04-02
  • js实现列表循环滚动
    本文实例为大家分享了js实现列表循环滚动的具体代码,供大家参考,具体内容如下 先介绍几个属性 clientHeight 元素的高度clientTop 元素顶部边框的宽度scrollT...
    99+
    2024-04-02
  • vue实现横屏滚动公告效果
    本文实例为大家分享了vue实现横屏滚动公告效果的具体代码,供大家参考,具体内容如下 HTML文件 <template>   <div id="box" ref="...
    99+
    2024-04-02
  • vue实现竖屏滚动公告效果
    本文实例为大家分享了vue实现竖屏滚动公告效果的具体代码,供大家参考,具体内容如下 html文件 <template> <div class="scroll-wr...
    99+
    2024-04-02
  • 微信小程序左右滚动公告栏效果怎么实现
    要实现微信小程序的左右滚动公告栏效果,可以使用swiper组件和设置动画效果。1. 在小程序的wxml文件中,使用swiper组件来...
    99+
    2023-08-16
    微信小程序
  • js如何实现列表自动滚动循环播放
    这篇文章主要介绍了js如何实现列表自动滚动循环播放的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js如何实现列表自动滚动循环播放文章都会有所收获,下面我们一起来看看吧。1.实现效果图鼠标移入,暂停滚动; 鼠标移...
    99+
    2023-07-02
  • JS如何实现无缝循环marquee滚动效果
    这篇文章主要介绍JS如何实现无缝循环marquee滚动效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!无缝循环marquee滚动JS代码实现,兼容IE, FireFox, Chro...
    99+
    2024-04-02
  • CSS3如何实现无限循环的滚动效果
    这篇文章主要讲解了“CSS3如何实现无限循环的滚动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3如何实现无限循环的滚动效果”吧!1. 使用CSS3来实现若要用CSS3的属性实现的...
    99+
    2023-07-04
  • 大数据报表中如何实现滚动的公告效果
    小编今天带大家了解大数据报表中如何实现滚动的公告效果,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“大数据报表中如何实现滚动的公告效果...
    99+
    2023-06-04
  • vue实现列表无缝循环滚动
    本文实例为大家分享了vue实现列表无缝循环滚动的具体代码,供大家参考,具体内容如下 功能介绍: 在PC端网页,包括大数据、官网、后台管理平台开发中,可能会用到这种列表循环滚动的展示。...
    99+
    2024-04-02
  • react实现无限循环滚动信息
    本文实例为大家分享了react实现无限循环滚动信息的具体代码,供大家参考,具体内容如下 需求 后端传递过来的数据滚动显示,鼠标移入后停止滚动,鼠标移出后继续滚动,参考公司门户的公告信...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作