iOS-文字滚动的Label

iOS 滚动数字控件:DPScrollNumberLabel 实现 第一次写博客,有点小激动,同时也害怕写的很烂,所以希望大家能够包容,如果大家觉得看不下去我的博客,可以直接翻到最后有源码和demo的github地址。开发ios也有大半年了,所以想要尝试一下写点博客,好了废话不多说了下面开始正题了。正文简介由于公司前段时间项目里要用到一个可以滚动的数字标签,所以就写了这样一个控件,现在有时间了,就写篇博客记录一下实现这个控件的过程。 阅读详情

在我们开发的过程中会遇到文字的长度大于Label的宽度的情况,有三种处理方式:

1、显示不下的内容用“。。。”来代替;(缺点:没法显示全内容)

2、采取折行的方式;                               (缺点:高度没法确定,会影响其他内容的显示)

3、让文字在label中滚动显示, 这种方式既节省了空间,又可以让用户看到所有的内容;

其中方式3又可以有两种方式,一种是文字从边框左面全部滚动出去之后,再从边框又面滚出来;另一种是首尾相接的方式;

下面我们介绍方式3,主要代码如下:

//滚动式文字只出现一次,这个类是UIScrollview的子类
- (void)rollOnlyOneTitle:(NSString *)title textcolor:(UIColor *)color font:(UIFont *)font
{
    //文字大小,设置label的大小和uiscroll的大小
    CGSize size = [title  sizeWithFont:font constrainedToSize:kConstrainedSize lineBreakMode:NSLineBreakByWordWrapping];
    CGRect frame = CGRectMake(0, 0, size.width, size.height);
    
    self.contentSize = size;//滚动大小
    
    RollFrame = self.frame;
    //初始化显示文字的label1
    UILabel *templb1 = [[UILabel alloc]initWithFrame:frame];
    self.label1 = templb1;
    [templb1 release], templb1 = nil;
    
    self.label1.text = title;
    self.label1.font = font;
    self.label1.textColor = color;
    self.label1.backgroundColor = [UIColor clearColor];
    
    [self addSubview:self.label1];
    
    //保留最出的位置,以便后面恢复初始状态用
    self.frame1 = self.label1.frame;
    
    [self beginScrollWithTimeOfTimer:self.timeInterval withMode:KMODEONLY];
    self.mode = KMODEONLY;
}


//滚动的动画,就是改变label1的frame的x的值。
-(void)animationOfScrollOnlyOne
{
    CGPoint lb1Origin = self.label1.frame.origin;
    CGSize lb1Size = self.label1.frame.size;
    
    if (self.animationOption == -1) {
        self.animationOption = UIViewAnimationOptionCurveEaseInOut;
    }
    [UIView animateWithDuration:self.timeInterval-0.1 delay:0 options:self.animationOption animations:^{
        if (lb1Origin.x == 0) {
            [self.label1 setFrame:CGRectMake(lb1Origin.x -  lb1Size.width, lb1Origin.y, lb1Size.width, lb1Size.height)];
        }else{
            [self.label1 setFrame:CGRectMake(lb1Origin.x -  lb1Size.width - RollFrame.size.width, lb1Origin.y, lb1Size.width, lb1Size.height)];
        }
     
        
    } completion:^(BOOL finished) {
        [self.label1 setFrame:CGRectMake(RollFrame.size.width, lb1Origin.y, lb1Size.width, lb1Size.height)];
    }];
}




其中的内容为:这是一个可以滚动的Label


效果图如下:



下面献上源码地址:http://download.youkuaiyun.com/detail/lifreshman/5185044

其中包括两种滚动方式和暂停滚动、恢复滚动。



iOS实战-自定义的横向滚动控件CustomScrollView CustomScrollView  使用官方UIScrollView组件定制的一个横向滚动的视图。由于能力有限,暂没有抽象成一个UI组件,如果有大神能进行抽象封装,非常欢迎,大家多多交流! 1.1 说明  CustomScrollView包括诺干个子视图,可以横向滚动,滚动过程中会根据子视图所在位置进行大小缩放。即最中间的视图最大,两边呈对称状态逐渐减小。且可以通过点击按钮进行滚动,选定某个子视图 阅读详情

相关推荐

深入掌握iOS中ScrollLabel的滚动文本实现

在iOS开发中,UILabel是使用频率非常高的视图组件,用以展示文本信息。然而,标准的UILabel组件并不支持文本的滚动功能。通过继承UILabel,我们可以创建一个具有滚动效果的自定义子类,为应用添加动态的文本展示效果。在开发动态用户界面时,提供用户可自定义的配置选项和改善交互功能是提升应用整体体验的关键。本章我们将深入探讨ScrollLabel组件的可配置选项设计,以及如何与其他UI组件整合,以提供更为丰富的交互体验。

weixin_42593130的博客 778

iOS开发(OC)——文字滚动效果

我们在浏览网页或者在使用一些娱乐新闻类的App的时候,会经常看到标题如果过长的话,会有一个滚动的效果,那么这种效果是怎样实现的呢?我在这里为大家介绍两种方法: 利用时间器,在一定的时间间隔内,不断地向后截取,并且每次截取的长度是相同的。 1.1首先定义几个全局变量 @property (nonatomic,strong)UILabel *titleLabel; @property (nonatom

菜鸟历程 1890

swift-iOS开发中实现UILabel滚动类似于跑马灯效果;

iOS开发中,实现UILabel滚动,类似于跑马灯效果;

ios自动滚动UILabel,跑马灯,有两种滚动方式

自动滚动UILabel,跑马灯,有两种滚动方式(ios)

杨克进的博客 1万+

swift-CycleLabel循环滚动的label控件

CycleLabel循环滚动的label控件

IOS-文字滚动的Label

文字可以滚动的Label,包括两种方式,支持暂停滚动和恢复滚动!

UILabel文本太长,需要滑动效果

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 366.5f)]; UILabel *label = [[UILabel alloc] init]; CGSize s = [Content sizeWithFont:[UIFont systemFontOfSize:14]

愿逐月华流照君 4355

Abaqus子程序开发避坑指南:从UMESHMOTION到齿轮磨损分析实战

本文深入探讨Abaqus子程序开发中的关键技术与避坑指南,重点解析UMESHMOTION在齿轮磨损分析中的实战应用。从开发环境搭建、调试框架构建到性能优化和大规模计算,提供系统化的解决方案。通过真实案例展示如何避免内存泄漏、网格畸变等常见问题,并介绍数据驱动的磨损预测等前沿技术,帮助工程师提升仿真精度与效率。

weixin_30892037的博客 87

iOS开发-label文字滚动

实现效果如图 代码如下 1 /** 2 * labelShow 展示文字的label,将label位置设置在屏幕左侧以外。 3 */ 4 CGRect frame = labelShow.frame; 5 frame.origin.x = -180; 6 labelShow.frame = frame; 7 ...

weixin_30301449的博客 413

物联网技术-第2章-物联网技术架构

• 物联网具有很强的异构性• 为实现异构设备之间的互联、互通与互操作,物联网需要以一个开放的分层的可扩展的为框架。

m0_73804764的博客 2976

R语言分段回归

1.利用虚拟变量进行线性回归 (MEdata.csv的数据来源:https://github.com/ChenQihome9/优快云-Data-Library/blob/master/MEdata.csv) 问题13:针对TAX~GDP,使用分段回归方法,找到其回归方程。编程,并根据程序结果叙述如下几方面问题:(1)分几段最佳?(不超过5段内)(2)分段位置定在哪儿最佳?(3)写出最佳方...

ChenQihome9的博客 1万+

iOS App转让/转移、Label文字分段颜色、UIWebView禁止滚动、获取设备的 DeviceToken、iOS友盟分享,指定界面显示需要分享到的平台的解决方案

iOS 开发者帐号 App转让/转移 及转移后的证书问题解答(多图慎入) iOS App转让 iOS Label文字分段颜色 UILabel *hintLabel=[[UILabel alloc]initWithFrame:CGRectMake(30, 120, 320, 66)]; hintLabel.numberOfLines=0; [self.vie...

BearsG 511

保姆级教程:手把手配置AutoSar诊断复位(Dcm 0x11服务联动BswM/EcuM)

本文提供AutoSar诊断复位(Dcm 0x11服务联动BswM/EcuM)的保姆级配置教程,详细讲解从诊断服务基础配置到BswM规则引擎搭建、服务端口映射及EcuM复位执行的完整流程。通过Vector配置工具的实际截图和代码片段,帮助开发者高效实现远程复位功能,并分享调试技巧与性能优化实践。

weixin_30756499的博客 543

【IOS】最简单方式实现跑马灯文字效果

实现跑马等效果,如果想要实现,头部跟尾部同时出现在一个屏幕中的话,应该使用两个 Label 比较好实现,于是有了以下思路. @interface JDMarqueeView () @property (nonatomic,copy) NSString *msg; //需要展示的消息 @property (nonatomic,assign) CGFloat textW; //文字长度 @prope

雨影的博客 1702

IEEE Transactions模板中参考文献作者缩写、期刊名缩写

本文章记录如何在IEEE Transactions的模板中,解决参考文献的作者缩写、期刊名字缩写的问题。

weixin_43981621的博客 1万+

【微信小程序开发与设计】垃圾智能分类小程序

垃圾分类是将来生活可持续发展的必需项。但是很多人由于缺乏垃圾分类知识,或是因为垃圾分类困难,费时费力,所以没有好好贯彻垃圾分类政策,此时设计一款方便于群众进行智能化垃圾识别分类的微信小程序就显得尤为必要。

Markelle_Fultz的博客 8244

iOS 跑马灯的实现

Linux编程点击右侧关注,免费入门到精通!作者丨劉光軍_Shinehttps://www.jianshu.com/p/1cdb3e6a9d80介绍我们一说起跑马灯第一个...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 408

TwinCAT 3 实战指南:从系统配置到高级运动控制

本文详细介绍了TwinCAT 3工业自动化控制平台的实战应用,从系统配置、PLC编程到EtherCAT总线配置和高级运动控制。通过倍福(Beckhoff)的TwinCAT 3平台,工程师可以高效实现复杂的工业自动化任务,包括运动控制、PLC编程等。文章还提供了常见问题排查和性能优化技巧,帮助用户提升系统稳定性和实时性。

weixin_30831529的博客 304

iOS巅峰之跑马灯

//        self.labelShow = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 30)]; //        [v.vc addSubview:self.labelShow]; //        self.labelShow.textColor = [UIColor

qw656567的博客 683

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

kercii的博客 7343

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

swift2.0 跑马灯

最近公司项目需要写一个跑马灯的效果,android的直接设置属性就可以了。为啥ios没有呢,我想一定是乔帮主认为跑马灯是个反人类的设计。哈哈,随便扯个蛋,进入正题。实现原理就是使用2个label,一前一后2个label的layer进行平行移动,当后面label的layer移动到前面的位置,动画再复原,重复执行。这样一个基本的跑马灯就实现了,我在此基础上给跑马灯加了,开始,停止,暂停,继续,4个动作...

kanxuexizhong的博客 1259

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

iOS 文字上下滚动

#文字上下滚动 项目中可能会用到单条数据需要上下滚动显示,下面是一个非常简单的封装Demo,可以根据自己的项目进行自定义修改。 效果如下: Demo下载 ###项目代码 /** 数据 */ @property (nonatomic, copy) NSArray *dataArr; /** 当前Label */ @property (nonatomic, strong) UILabel *cu...

weixin_41546989的博客 1513

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iOS文字滚动效果 之横向滚动

原文链接: iOS文字滚动效果 之横向滚动 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区 QQ群号:413102...

weixin_33912638的博客 380

iOS中UILabel滚动字幕动画的实现

iOS中UILabel滚动字幕动画的实现   By uniEagle | 2012 年 8 月 29 日 - 16:50 | Develop, iOS 有时候会遇到UILabel中的内容超出长度,显示不完全的问题。有一种解决方法是通过动画字幕来实现,比如: 字幕向左或者右滚动 字幕来回滚动 本文以后者为例来说明吧。这里先介绍UIView的通过Block实现的Ani

上善若水 3356

iOS文字滚动效果 之 横向滚动

https://www.jianshu.com/p/6f4e3caf058d

CQAHF的博客 1740

iOS 的文字滚动条效果的实现

UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 100, 300, 50)]; label.text = @"欢迎欢迎欢迎"; [self.view addSubview:label]; [label sizeToFit]; CGRect frame = label.f...

weixin_30466039的博客 315
上一篇: 使用CGAffineTransform实现对控件的旋转
下一篇: iOS 模仿系统的抖动动画
lifreshman
博客等级 码龄17年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值