collectionView 无限轮播图

2024-09-07 14:08

本文主要是介绍collectionView 无限轮播图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拿一组4张的轮播图作为例子
思路主要是
1. 拿到一组图片后, 把绿色图1和绿色图4多复制出来一份, 把红色图1(复制的图1)放在最后, 红色图4(复制的绿色图4)放在首位, 现在一共是6张图.
2. 左滑从绿色图1到红色图1时,就迅速把collectionView的contentoffset 设置到图1的位置.

3.右滑时,到红色图4就把collectionView的frame设置到绿色图4的位置

// 这里是位移的代码

```

- (void)adjustPicturePosition {// 拿到图片的XCGFloat offsetX = self.collectionView.contentOffset.x;// 计算是第几张图CGFloat offsetItemNum = offsetX / self.collectionView.bounds.size.width;// 红色图1的位置if (offsetItemNum == photocount - 1) {// 设置的绿色图1的位置[self.collectionView setContentOffset:CGPointMake(collectionView.bounds.size.width, 0) animated:NO];} else if (offsetItemNum == 0) {// 红色图4// 设置为绿色图4的位置[self.collectionView setContentOffset:CGPointMake((photocount - 2) * collectionView.bounds.size.width, 0) animated:NO];}// 四舍五入(主要是为了滑动到一半的图片设置pagecontrol) // 拿到当前的图片countNSInteger pageNum = (NSInteger)round(offsetItemNum);// 设置页数if  self.pageControl.currentPage = item;
}

``` 

效果图

 

 

这篇关于collectionView 无限轮播图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145276

相关文章

(入门篇)JavaScript 网页设计案例浅析-简单的交互式图片轮播

网页设计已经成为了每个前端开发者的必备技能,而 JavaScript 作为前端三大基础之一,更是为网页赋予了互动性和动态效果。本篇文章将通过一个简单的 JavaScript 案例,带你了解网页设计中的一些常见技巧和技术原理。今天就说一说一个常见的图片轮播效果。相信大家在各类电商网站、个人博客或者展示页面中,都看到过这种轮播图。它的核心功能是展示多张图片,并且用户可以通过点击按钮,左右切换图片。

颠覆你的开发模式:敏捷思维带来的无限可能

敏捷软件开发作为现代软件工程的重要方法论,强调快速响应变化和持续交付价值。通过灵活的开发模式和高效的团队协作,敏捷方法在应对动态变化和不确定性方面表现出色。本文将结合学习和分析,探讨系统变化对敏捷开发的影响、业务与技术的对齐以及敏捷方法如何在产品开发过程中处理持续变化和迭代。 系统变化对敏捷软件开发的影响 在敏捷软件开发中,系统变化的管理至关重要。系统变化可以是需求的改变、技术的升级、

使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意

引言 什么是Amazon Bedrock? Amazon Bedrock是亚马逊云服务(AWS)推出的一项旗舰服务,旨在推动生成式人工智能(AI)在各行业的广泛应用。它的核心功能是提供由顶尖AI公司(如AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI以及亚马逊自身)开发的多种基础模型(Foundation Models,简称FMs)。

hdu2073(无限的路)

无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5148    Accepted Submission(s): 2653 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,

JavaScript练手小技巧:利用鼠标滚轮控制图片轮播

近日,在浏览网站的时候,发现了一个有意思的效果:一个图片轮播,通过上下滚动鼠标滚轮控制图片的上下切换。 于是就有了自己做一个的想法,顺带复习下鼠标滚轮事件。 鼠标滚轮事件,参考这篇文章:鼠标滚轮事件-CSDN博客 一、HTML和CSS 无论怎么样的滚动,首先要制作图片轮播的结构和样式。 HTML: <div class="box" id="box"><ul class="list" i

Python中的方法重写与多态:解锁编程的无限可能

在编程的世界里,灵活性与扩展性往往是衡量一个语言是否强大、易于维护的关键指标。Python,作为一种被广泛使用的高级编程语言,不仅以其简洁易读的语法赢得了众多开发者的喜爱,更因其支持多种面向对象特性而备受青睐。其中,“方法重写”与“多态”便是两个核心概念,它们不仅能够极大地提高代码的复用性和可维护性,还能帮助我们构建更加灵活、健壮的软件系统。本文将通过一系列由浅入深的例子,带你一起探索这两个概念的

python恶搞无限弹窗脚本

python恶搞无限弹窗代码; 弹窗可以关闭,但是每次关闭都会增加一个出现; 例如关闭一个弹窗会出现两个弹窗; 初始化出现20个弹窗; 部分核心代码 def on_close(top, root):global window_count# 关闭当前窗口top.destroy()window_count -= 1# 创建两个新窗口create_popups(root, 3)def create_

Wyn 商业智能V8.0 新版本来袭,解锁“智造”的无限可能

Wyn商业智能V8.0 版本全新发布,聚焦制造业数字化升级痛点,深度赋能制造业数字化转型升级之路,从无缝集成物联网海量数据,到构建可视化实时分析、监控与预警大屏,全面打通生产制造全生命周期的数据脉络,为您开启工业智能新视界,一键解锁数字化工厂无限可能! Wyn商业智能 V8.0 版本亮点功能一览 1、支持MQTT等采集协议,接入物联网设备数据 全新引入”物联网数据”类型,支持MQTT,Web

原生js实现轮播图-setInterval, setTimeout

原生js实现轮播图-setInterval, setTimeout 目录 文章目录 前言代码实现`setTimeout`和递归实现`setInterval` 效果展示 前言 利用原生js实现轮播图代码复制可用 代码实现 setTimeout和递归实现 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"

(素材源码)猫猫学IOS(十一)UI之图片自动轮播

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8534603 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果 ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努