问题标签 [reuseidentifier]

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 投票
1 回答
105 浏览

uitableview - 可重复使用的单元格为许多单元格重复相同的 indexPath

我正在使用 UITableView 和自定义单元格。当我单击一个单元格时,它会转到后屏幕,并将 indexPath 保存在 NSIndexpath 中;当我再次导航到 tableView 时,我更改了先前选择的单元格的 backgroundColor,以便用户可以识别选择。

但是当单元被重用时,它会为许多单元获得相同的 indexPath。你能告诉我如何解决它。我将如何识别电池何时被重复使用。

太感谢了!

0 投票
5 回答
17442 浏览

ios - Xcode 初学者;重用标识符?

我最近开始在 Xcode 5 中构建一个非常基本的 To-Do List 作为我的第一个项目。几乎完成了 UI 设计和构建后,我现在被困在 TableView 中数据的实现上。我在列表中添加了 13 个项目的列表,并为列表中的第一个项目提供了“ListPrototypeCell”标识符,我的所有代码似乎都是正确的。我的项目有 3 个相同的问题:

我在每个项目上都使用了标识符,尽管有人告诉我不需要在每个项目上都使用标识符,但我仍然会遇到这些错误。

我愿意将我的项目发送给任何认为他们可以帮助我解决问题的人,对于受过训练的人来说,这可能是我犯的一个非常基本的错误。

我很感激任何帮助!

0 投票
4 回答
2646 浏览

ios - UITableViewController 更改一个可重用单元格会影响其他单元格

我有一个非常简单的UITableViewController子类,旨在向用户显示单元格中字母表中的字符。当用户按下一个单元格时,它会将其附件类型设置为复选标记。

表格视图工作正常。我在原型单元格的情节提要中设置了我的重用标识符属性,在我开始选择单元格之前,一切看起来都很好。

问题:当我选择任何单元格时,比如“A”单元格,当我向下滚动到其他不可见的单元格时,它们也会被选中。更糟糕的是,当我上下滚动时,有时会删除单元格“A”上的复选标记并赋予单元格“B”。

0 投票
3 回答
389 浏览

ios - UITableViewCell 重用 Dobut

我对重用 UITableViewCell 有点怀疑。

当我们创建 UITableViewCell 时,它看起来像下面这样。

所以在我的例子中,UITableView 中的每个单元格都是不同的。如果 UITableView 重用单元格,则单元格内容完全不同。

将 CellIdentifier 传递为 nil 是否是一种好习惯,以便每次创建新单元时,而不是在所有单元都不同的条件下?

或者我应该只是移动 [self configureCell:cell forIndexPath:indexPath]; 出来自己处理?

0 投票
2 回答
2235 浏览

ios - 防止 UITableViewCells 出队并重新加载

我目前正在制作一个显示用户个人资料的应用程序。为此,我为不同类型的数据(电话号码、邮件地址等)使用了带有自定义单元格的 UITableViewCell。每个配置文件最多有 8 个单元。

允许用户以最简单的方式编辑其个人资料。当 tableview 的编辑模式被触发时,所有可编辑的标签都被 textfields 替换。然后在修改完成后返回标签。

Homever,不可见的单元格似乎有问题。每次它们重新出现在视图中时,它们都会被重新加载,再次触发 setEditing:YES 方法等等......因此,在文本字段中所做的每一次更改都会丢失。

有没有办法防止 tableview 删除不可见的单元格并将它们添加回来?只有八个单元格,因此不会占用太多资源,而且每次进行更改时我都不必保存它们的状态。

PS:我用 dequeueReusableCellWithIdentifier 方法和每个单元格的标识符尝试了几件事,但我没有设法实现我想要的。每次我隐藏一个单元格时,它的内容都会刷新。

0 投票
1 回答
1150 浏览

ios - UiButton state keeps changing when scrolling in UITableview

I know there are a few posts abou this but I am still confused why the button i created in a tableview wont keep its state when its selected. When I scroll, unselected buttons get affected and it changes back and forth. Please help.

0 投票
2 回答
1035 浏览

ios - UICollectionView 滚动后重新排序单元格

我在我的实现中添加了这个 UICollectionViewDelegate:

在我的自定义单元格中,我有这个方法:

因此,您可以看到单元格是否没有 UIImageView,然后我开始创建它,并在后台从本地路径获取图像并将其调整为单元格内容视图宽度,然后在主队列中将图像设置为 UIImageView。

这部分效果很好,但是当我尝试滚动 UICollectionView 时,例如使用 10 张图像,我注意到,例如,如果当我向下滚动时前 2 个顶部图像消失,然后当我滚动回顶部时,图像会被更改放置。

这是向下滚动之前的图像状态:

在此处输入图像描述

我滚动UIColectionView回顶部后的这种状态:

在此处输入图像描述

因此,您可以首先看到项目更改了它们的位置。正如我if (!self.imageView)在上面的代码中设置的那样,它应该意味着图像永远不会被创建两次或更多次。

我打开调试器并正在检查这个方法:

因此,当 UICollectionView 第一次创建单元格时,图像路径会一一返回。

第一次第一个 UICollectionViewCell 有 0x8fbc1d0,第二个有 0x8d0a4c0 地址

但是当我向下滚动然后向上滚动时,调试器在第一个 0x8d0a4c0 向我显示了第二个地址,然后向我显示了 0x8fbc1d0

但我不明白为什么物品会改变它们的顺序。或者也许这是另一个问题?

此外,我在代码中没有任何方法可以让我重新排序单元格。只有少数 UICollection 视图方法委托配置单元格计数并创建它们。

此外,如果我删除if (!self.imageView)似乎一切正常,但是我的代码每次调用调度对我都没有好处,因为当我将图像调整为单元格大小时,我不需要执行两次。

0 投票
4 回答
2400 浏览

objective-c - 已注册的 NIB,当我使用 dequeueReusableCellWithIdentifier 时仍然出现断言错误

我有一个自定义UITableViewCell类,我想用它来创建自定义表格单元格。我创建了自定义表格单元格的 xib 以及它的头文件和实现文件,都称为RTRepairOrderTableCell.m/.h/.xib.

我的问题是,即使我将表格单元格的重用标识符设置在RTRepairOrderTableCell.xib 文件内部并在表格视图控制器中注册了 xib,但当它尝试出列或创建新单元格时,我仍然遇到断言错误利用。

在我的视图(表)控制器内部,我有以下内容:

这里没有错误,它完成viewDidLoad得很好。

在我的里面cellForRowAtIndexPath我有以下内容:

根据我看过的每个教程,只要我在 xib 文件中正确设置了重用标识符,并且我viewDidLoad在将显示表格单元格的视图控制器类中注册了该 xib,这应该可以工作,所以我在关于我为什么得到的损失

0 投票
2 回答
6310 浏览

ios - 用于可重用视图的 iOS Swift UICollectionView registerNib 不起作用

我正在尝试使用 UICollectionViewController 创建一个类似 iCalendar 的方法。现在我正在尝试添加可重用的视图作为每天的列标题。

我制作了一个故事板并添加了一个链接到此类的 UICollectionViewController:

ColumnHeaderView nib 实际上是一个 xib 文件,其视图包含单个标签。此视图链接到此类:

数据源和布局:

我还没有那么远,因为我陷入了一个非常基本的问题。

为什么会这样?我错过了什么吗?

任何帮助都会得到帮助:) 提前谢谢你

编辑:我发现了问题!这一行是错误的:

我试图获取装饰视图的 ViewLayoutAttributes,但它被注册为可重用视图。我改变了这条线,它又可以工作了。

0 投票
3 回答
1124 浏览

ios - UITableviewCell 在我滚动时显示另一个单元格的文本

当我滚动我的自定义 UITableviewCells 得到错误的内容(另一个单元格的文本)。这是随机发生的。我尝试清除单元格,但后来我得到了一些空白单元格。我的代码如下。谁能告诉我发生了什么。我从这里和其他地方阅读了许多需要清除单元格的文章,但没有一个对我有用,因为我不确定您在什么时候清除数据。我什至尝试在我的单元格的班级中实现 prepareForReuse 但没有好处。