Tag: 无限滚动

无限滚动

轮播常常被应用在很多不同的地方,最常看到的就是热门新闻,热门商品之类的。但如果滑到底的时候怎么办?通常都会从第一个重新开始,那下面就开始介绍使用滚动查看设计出来的无限轮播。 在这边我使用一个UIView包含着UIScrollView,UIScrollView包含着两个UIImageView: 上面介绍的无限轮播只是一种比较简单的方式,当然还有很多种不同的方式可以做出相同的功能,像是collectionView也有方法能够做出来,从而要请各位多多研究,如果有错误或问题,可以留言让大家一起讨论! Nibelheim11 / InfinitScroll 通过在GitHub上创建一个帐户为InfinitScroll开发做出贡献。 github.com

使用UIScrollView进行分页的无限滚动

看似简单的技术,它得益于良好的心理模型来解开纠结 《无限滚动》,乔什和伊丽莎,WWDC 2011 iOS的无限滚动技术已众所周知多年,尽管有时甚至在今天也被认为很困难。 我第一次听说这件事是在2011年Josh&Eliza的WWDC演讲中。 通常,当您在滚动视图上向左滑动时,您会得到屏幕向左流动的印象。 但是,iOS只是通过将视口移到相反的方向来给您那种印象。 在下一个示例中,在向左滑动显示黄色部分之前,仅滚动视图的柠檬绿色部分可见。 在此示例中,整个滚动视图没有更改,但是只有视图端口向右移动以显示黄色部分。 通过这种正常的滚动行为,您将陷于Content View的边缘。 Josh&Eliza引入的技术的关键思想是在UIScrollViewDelegate.scrollViewDidScroll(…)执行以下操作 将内容视图移向滑动方向,并使视口始终位于内容视图的中心 在内容视图的新开放空间中添加新内容 使用这种技术,我们永远不会卡在Content View的边缘,因为View端口始终位于中心。 只要我们的程序将新内容正确地输入到开放空间中,我们就可以永远滚动。 UIScrollViewDelegate.scrollViewDidScroll(…)是描述滚动调整动作的最佳位置之一,因为它在每次查看端口移动时以及在实际布局/渲染发生之前都会被调用。 翻页滚动 问题 上面的技术很容易实现,非常有效。 除了需要分页时。 UIScrollView有一个名为isPagingEnabled的标志。 通过仅将此标志设置为true ,滚动可以在每一页上完美地捕捉。 请查看以下“动物偷看”示例应用程序示例。 您希望每个滚动都像在gif中看到的那样捕捉每个动物。 否则,它不是peek-a-boo🙂 我敢打赌,如果滚动仅停在某一点,孩子们将不会高兴,因此这是将其作为无限滚动视图的动机。 如果我们在此应用程序中天真地实现Josh&Eliza的技术, 它将破坏 UIScrollView 的分页功能 。 请记住,Josh&Eliza的主要想法是将视口保持在Content View的中心。 这使iOS认为滚动视图根本不在页面上移动。 结果,页面捕捉将永远不会正确发生。 所以……休斯顿,我们有一个问题。 解 与这个世界上的一切一样,有一个解决方案。 这是一个相当容易的过程。 解决方案的关键思想是 我们不需要经常调整视口。 Josh&Eliza为简化代码做了太多事情。 每次 调用 scrollViewDidScroll(…) 时, Josh&Eliza 都会进行视口调整。 但是实际上,当您考虑它时,我们真正需要它只有两个时间 。 当视口移至右侧时, 下一页内容将占据视口的大部分。 […]

如何将加载更多数据功能添加到UITableView

Load More Data View用于表示内部带有活动指示器的加载状态。 No More Data View用来表示不再有标签和按钮的数据状态,尝试再次加载更多数据。 接下来,将2个视图LoadMoreDataView和NoMoreDataView连接到LoadMoreDataView ,如下所示: 我们将编写一些方法来处理show加载更多数据状态或不显示更多数据状态的情况,如下所示: 接下来,我们需要更新fetchData方法以显示加载更多数据视图或不加载更多数据视图,如下所示: 接下来,当按下“重Try Again按钮时,我们将调用fetchData方法: 现在,尝试运行该应用程序,一切都将按预期运行。 您可以在此处下载完成的项目。

如何使用SwiftHashTags在Swift中轻松创建可滚动HashTag

SwiftHashTags 步骤01:创建您的Xcode项目 步骤02:使用Terminal导航到您的项目文件夹并初始化pod pod init 步骤03:安装吊舱 pod install 步骤04:关闭Xcode,然后打开“ .xcworkspace” 。 步骤05:打开Podfile并添加 pod ‘SwiftHashTags’, ‘~>0.1.2’如下 步骤06:然后使用终端浏览到您的项目文件夹并点击 pod install 步骤07:将SwiftHashTags导入到ViewController 步骤08:然后在您的ViewController文件中,在ViewDidLoad内执行以下操作。 您可以添加任意数量的标签,它将为您处理滚动功能。 步骤09:您一切顺利。 保存并运行。 您可以根据需要更改视图大小。 最后一步:实现SwiftHashTags Delegate方法,如下所示: 有关更多详细信息:SwiftHashTags 希望这对您有帮助。 好好享受。 欢呼!