iCarousel 不从 iPhone 6+ 上的 4 个项目呈现第三个视图

Posted

技术标签:

【中文标题】iCarousel 不从 iPhone 6+ 上的 4 个项目呈现第三个视图【英文标题】:iCarousel is not rendering 3rd view from 4 item on iPhone 6+ 【发布时间】:2016-04-19 10:47:19 【问题描述】:

所以我试着用 iCarousel 创建一个简单的自动滚动视图。

我制作了 4 个视图,中间的图像可见, 使用

func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView

并记录当前呈现的索引视图,

我在 ipod touch / iphone 5 / iphone 6 上测试它,每个视图都被渲染为日志打印

current index rendered 0
current index rendered 3
current index rendered 2
current index rendered 1

但是当我在 iphone 6+ 上尝试时,日志只是打印:

current index rendered 0
current index rendered 3
current index rendered 1

只是轮播吗?我对此表示怀疑.. 这就是为什么,我应该怎么做才能使轮播呈现第三视图 (2)? 因为在func numberOfItemsInCarousel(carousel: iCarousel) -> Int 上,我返回了我的图像数组的计数。

谢谢

【问题讨论】:

【参考方案1】:

抱歉,这似乎是重用视图的轮播的自然行为。 当它在 5 或 6 时,视图的维度允许它在初始化时全部呈现,因此不需要重用视图。 但是当它在 6+ 时,尺寸更大,它使轮播只渲染 3 个项目:当前、前/右和后/左(如果启用了换行,并且我的设置已启用)

然后我意识到我在重用视图时做错了。 我之前所做的是获取 UI 组件,然后重新创建它们的矩形。 而示例没有这样做。

所以我的解决方案是不重新创建矩形,而只是更改子视图的 UIViewImage 的图像属性

【讨论】:

以上是关于iCarousel 不从 iPhone 6+ 上的 4 个项目呈现第三个视图的主要内容,如果未能解决你的问题,请参考以下文章

如何为iCarousel iphone中不同位置的图像实现删除功能

iPad 上的 iCarousel 性能问题

iCarousel的简单介绍及应用

iCarousel 滚动不顺畅

消息发送到 iCarousel 内 UIButton 上的已释放实例

带有旋转功能的 icarousel 类。