问题标签 [prepareforreuse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
62 浏览

ios - 无法确定从leadingSwipeActions 返回哪个发件人以准备继续

抱歉,我是全新的 swift 和 IOS 开发人员,但我有一个表格视图,其中包含表格视图中的每个元素,我可以点击该项目以转到我的编辑屏幕,该屏幕确定表格单元格中的信息。我还想leadingSwipeActionsConfigurationForRowAt调出一个编辑按钮,该按钮使用与点击单元格相同的 segue 方式进入编辑屏幕。问题是,prepare(for segue:)由于leadingSwipeAction 的发送者,我处理tap segue 的声明一直失败。现在我真的很困惑我应该在我的leadingSwipeAction 中放置什么作为我的发件人。我尝试了一个UITableViewCell()失败的守卫声明:

guard let ViewController = segue.destination as? ViewController else { fatalError("Unexpected destination: \(segue.destination)") }

作为一个 UIView() 然后我尝试发送一个taskCellTableViewCell对象/类,它是我称为单个单元格的对象/类,但它返回了一个 nil/空单元格,该单元格在准备中失败了另一个保护语句。所以现在我对如何获取和发送执行leadingSwipeAction 的实际单元格感到困惑。我希望任何人都可以帮助我找出我需要返回以通过准备的正确发件人。谢谢

这是用于leadingSwipeAction 和准备的代码:

再次尝试使用 showDetail segue 失败。

这里也是项目pastebin的完整代码的pastebin

0 投票
2 回答
149 浏览

ios - 将tableViewCell保存在数组中,将UITableViewCell缓存在数组中

我正在开发一个 tableView,其中每个单元格由 AVPlayer 组成,并且高度为 view.frame.size.height 并且还启用了分页。所以本质上它的工作方式类似于 tiktok 应用程序提要。我遇到的问题是我必须在 prepareForReuse 中销毁 AVPlayer 以在调用 cellForRow 时显示新视频,否则如果我不销毁它并且用户快速滚动,则较旧的视频会出现一秒钟,如果我销毁每个播放器使用之前的时间,然后 AVPlayer 需要一秒钟来加载和显示黑屏之间。它有效,但结果并不优雅。

那么有什么方法可以预加载单元格并将它们保存在数组中。就像一个由三个独立单元组成的数组。我们可以在用户滚动时更改其中的值

例如

0 投票
1 回答
40 浏览

swift - UICollectionViewCell 在新单元格的数据加载之前填充了以前的单元格数据,需要实现 PrepareForReuse()

我的 UICollectionView 有问题,问题是,如果您滚动得足够快(甚至不是那么快),那么在重用之前单元格中的数据会在显示新数据之前显示一两秒钟。

这是有关更多上下文的视频(youtube 视频链接):https ://youtu.be/I63hBuxBGI0

这是 cellForItemAt 内部的代码:

numberOfRowsInSection 内部的代码:

我很确定我需要实施的是prepareForReuse(),但我不确定如何做到这一点,并且在网上找不到任何有用的东西。

非常感谢!

0 投票
2 回答
138 浏览

ios - 在 prepareForResue 上重置 tableView 中的 collectionviewcell

我有一个(水平)collectionView,它位于 tableViewCell 中。

我的 tableViewCell 行有一个标签和 collectionView

Collectionview 在每个单元格中都有按钮

在此处输入图像描述

当点击按钮时,我突出显示按钮的颜色和 tableCell 的行,这是完美的工作。我对 prepareForReuse() 有疑问

场景:我点击按钮,它改变了它的颜色(在collectionCell中)并突出显示tableViewCell的行,我有10多个tablerows。当我向下滚动 tableView 时,我看到我在 tableRow1 上所做的选择出现在 tableRow10

我在 tableviewcell 中添加了 prepareForReuse() 但是我如何从表的 prepareForReuse() 引用和重置 collectionview 内的按钮外观

请指教

0 投票
0 回答
80 浏览

uicollectionviewcell - 如果快速滚动CollectionView swift 5,则单元格数据错误

任何人都可以帮助我使用 CollectionView 吗?我从一些 API 中解析 JSON,并获取字符串值 - 标题和图像地址,然后将该数据分配给方法 cellForItem() 中的自定义 collectionViewCell。但是比我快速滚动集合视图,某些单元格可能包含错误的图像或重复的图像。我还在自定义单元格类中覆盖方法 prepareForReuse 并设置 cell.image = UIImage() ,但它没有用。请帮助我理解什么问题)对不起我的英语不好......

集合视图控制器

'''

'''

方法获取图像'''

'''

单元格自定义类 '''

'''

0 投票
3 回答
74 浏览

ios - 如何防止不同 Swift 单元格的标签彼此重叠显示?

双文本标签的屏幕截图

标签的当前约束

完整的层次结构

我目前的相关代码是什么

我尝试了什么

在准备重用时,我尝试lblName.text = "" and lblName.text = nil了没有工作。

我也在 cellForRowAt 中尝试过:

我也试图通过约束来完成它,但没有运气。

我认为可能是原因

在我从 TableViewController 场景更改为 ViewController(带有输出表)场景之前,这并没有发生。

在我将单元格设置为不同颜色之前,它也没有发生。

0 投票
0 回答
52 浏览

ios - 重用单元格时 UITableViewCell 内容移动

我有一个自定义 UITableViewCell ,其中一些内容在带有嵌套堆栈视图的 xib 中定义。一些视图在代码中添加到 stackViews 中,因此每个单元格可能具有不同的高度。

当离开 tableview 时(即推/弹出另一个 ViewController 并滚动回第一个单元格(离开视图时不可见),内容被向下移动(见图)并且不完全适合单元格。什么这是原因吗?

在此处输入图像描述

0 投票
1 回答
73 浏览

ios - 在 UItableview 单元中重用计时器

我正在开发我的 UITableviewcell,其中有一个 UIView 供用户“点击”并启动计时器。我正在完全以编程方式创建我的 UItableview 单元组件,并在 UITableviewcell 类而不是父视图控制器中添加计时器组件。

我遇到的问题是我的计时器应该对于每个 UITableviewcell 都是不同的。用户应该能够在一个单元格中启动计时器并滚动其他单元格以启动/停止另一个单元格。但是,当我“点击”我的第一个单元格时,计时器不仅在第一个单元格上启动,而且我还可以看到它在第三个单元格上启动。

我试图通过使用 PrepareForReuse 和使计时器无效来纠正此问题,但这也会导致第一个单元格的计时器无效。

我试图研究这个问题,但没有发现完全匹配。谁能告诉我如何解决这个问题?

0 投票
1 回答
74 浏览

swift - 为什么我的 tableview 单元格显示不正确的内容?

我有一个包含标签和图像的自定义单元格的表格视图,加载时它很好,所有单元格都正确显示。

但是,当我向下滚动时,因为有超过 200 个单元格,当我向上滚动时,单元格中的单元格数据会发生变化 - 例如 - 我可能有正确的图像但错误的标签或错误的图像但正确的标签。我不确定我做错了什么。

到目前为止,这是我的代码:

}

0 投票
1 回答
29 浏览

ios - “UICollectionView dequeueReusableCellWithReuseIdentifier:forIndexPath”崩溃

我有一个 UICollectionView,而单元被重用,然后崩溃。下面是崩溃时的堆栈。

0 libobjc.A.dylib objc_msgSend + 32

1 UIKitCore - [UIView(动画)_removeAllAnimations:] + 100

2 UIKitCore-[UIView(动画)_removeAllAnimations:] + 244

3 UIKitCore - [UIView(动画)_removeAllAnimations:] + 244

4 UIKitCore - [UIView(动画)_removeAllAnimations:] + 244

5 UIKitCore-[UIView(动画)_removeAllAnimations:] + 244

6 UIKitCore-[UIView(动画)_removeAllAnimations:] + 244

7 UIKitCore - [UIView(动画)_removeAllAnimations:] + 244

8 UIKitCore-[UICollectionViewCell prepareForReuse] + 228

9 UIKitCore-[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:] + 400

10 UIKitCore-[UICollectionView dequeueReusableCellWithReuseIdentifier:forIndexPath:] + 104

11 myapp -[myCollectionView 集合视图:cellForItemAtIndexPath:]

你能帮助我吗?我真的不明白为什么会在这里崩溃。