美文网首页日常阅读
Swift-消息滚动、轮播图、选择相片库、富文本修改颜色添加可点

Swift-消息滚动、轮播图、选择相片库、富文本修改颜色添加可点

作者: chushen61 | 来源:发表于2023-06-28 09:22 被阅读0次

Swift一个项目告一段落总结下项目中使用的六个组件,选择相片库、富文本修改颜色添加可点击事件、消息滚动、轮播图、日历组件、Json动画

1.选择相片库分为两种,一种修改头像选择一张照片,采用系统方法提供的UIImagePickerController方法,第二种选择多张图 #图片选择 

pod 'CLImagePickerTool', :git => 'https://github.com/Darren-chenchen/CLImagePickerTool.git'

pod 'YBImageBrowser'  #图片浏览框架

pod 'YBImageBrowser/Video'

多种选择无法对图片进行展示、删除、放大的效果,需自定义CollectionView,和自定义放大的效果图

2.富文本修改颜色添加点击事件,实现思路,采用UITextView的attributedText 先修改部分字体颜色,根据修改的字体颜色,执行UITextViewDelegate的代理包含URL这截的字,执行点击跳转事件,执行代码仅供参考:

                let attributedText = ruleString.setHtmlAttributedString(font:UIFont.systemFont(ofSize: 13),colorSelect: UIColor.TB_hexColor("#999999"),lineSpacing: 5,paragraphSpacing: 12)

                guardletrange = attributedText.string.range(of:"新手挑战活动")else{// Range<String.Index>?

                return

                }

                letconvertedRange =NSRange(range,in: attributedText.string)// NSRange?

                attributedText.addAttribute(.link,value:"more://",range: convertedRange)// NSRange?                 attributedText.addAttributes([NSAttributedString.Key.foregroundColor:UIColor.TB_hexColor("#FF7650")],range: convertedRange)

                letparaph =NSMutableParagraphStyle()

                paraph.lineSpacing=2

                paraph.paragraphSpacing=0

                attributedText.addAttributes([NSAttributedString.Key.paragraphStyle: paraph],range:NSMakeRange(0, attributedText.length))

                self.inviteTextView.isEditable=false

                self.inviteTextView.isScrollEnabled=false

                self.inviteTextView.delegate=self// 指定代理处理点击方法

                self.inviteTextView.attributedText= attributedText

                self.inviteTextView.textColor=UIColor.TB_hexColorA("#646464",0.8)

                lettextSize = attributedText.boundingRect(with:CGSize(width:kScreenWidth-44,height:CGFloat.greatestFiniteMagnitude),options: [.usesLineFragmentOrigin, .usesFontLeading],context:nil).size.height

执行代理方法:

extension LTInviteRedController : UITextViewDelegate {

    functextView(_textView:UITextView,shouldInteractWithURL: URL,incharacterRange:NSRange,interaction:UITextItemInteraction) ->Bool{

        ifURL.absoluteString=="more://"{

          print("click more")

            letchallenge =LTChallengeDetailsController.init()

            challenge.challengeGuid=challengGuid

            self.navigationController?.pushViewController(challenge,animated:true)

          returnfalse

        }

        return true

      }

}

3.消息滚动采用 JJMarqueeView  

4.轮播图采用

FSPagerView

仅供参考:https://blog.csdn.net/chenyong05314/article/details/105639112

5.日历组件,时间允许的情况可自定义也可github查询很多相关组件 calendarKit

6.Json动画  json动画对比GIF动画差异,详细可看上一遍文章

pod 'lottie-ios'

letanimationView =AnimationView(name:"inviteData")

        animationView.frame=CGRect(x:0,y:0,width:kScreenWidth,height:kScreenWidth*410/375)

        self.FirstBackView.addSubview(animationView)

        animationView.contentMode= .scaleToFill

        animationView.loopMode= .loop

        animationView.play()

        animationView.play{ (isFinished)in

        }

相关文章

  • 富文本添加可点击事件

    一、点击到转到网页类型 如下代码: 因为是使用textView来显示的,所以要把textView的editable...

  • Flutter沉浸式Banner + 滚动修改状态栏颜色

    Flutter沉浸式Banner + 滚动修改状态栏颜色 PS:最近项目有个非人类需求,顶部放轮播广告,滚动切换状...

  • iOS轮播图封装 ECAutoScrollBanner

    ECAutoScrollBanner 轮播图封装。可以实现自动定时翻页、手动翻页;垂直和水平滚动等。支持纯文本、本...

  • JS实现无缝滚动

    滚动轮播图原理:以本文为例,想要实现视觉上的无缝隙滚动轮播,就需要在第四张图后,再添加第一张和第二张图,因为本文的...

  • 京东移动端初体验

    header栏的一个特效 思路 在滚动事件中 写逻辑 修改 通栏的透明度 需要设置滚动的范围 滚动的距离 跟轮播图...

  • Flutter_textfield实现富文本

    textfield基本使用 简单富文本可以直接设置 修改文本颜色需要重写 buildTextSpan 方法, 更改...

  • 无标题文章

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。它们各具特色,各有用处。 1.传统轮播图 第一步...

  • 原生javascript实现轮播图

    简单的轮播图,但是可以自行修改很多地方比如添加文字描述等等。代码实现了2秒自动轮播,鼠标移入轮播停止,移出轮播继续...

  • 轮播图

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。 1.传统轮播图 第一步,得到元素 第二步,设置...

  • 异步与回调函数-call

    设置轮播图不自动滚动

网友评论

    本文标题:Swift-消息滚动、轮播图、选择相片库、富文本修改颜色添加可点

    本文链接:https://www.haomeiwen.com/subject/lgynydtx.html