2016-09-21 54 views
0

我在UITableView中有一个单元格。该单元有一个UITableViewCell类。在这个类中,我以编程方式添加几个按钮。以编程方式添加按钮的问题

注意:单元格位于表格视图的最后端。

问题: 如果我使用模拟器iphone 5>将显示按钮。 但是,如果我使用模拟器iPhone 6+>按钮将不会显示。

注意:当我在iphone 5上打开它时,我需要滚动才能看到特定的单元格。在iPhone 6+我不需要在那里滚动,单元格可以马上看到。

所以我认为这个问题在这里。可能是我做'按钮添加'的地方。

我应该在哪里调用设置按钮的方法? 或者我该如何解决这个问题?

+0

在程序“cellForRowAtIndexPath”下以编程方式添加按钮并添加到单元格 –

+8

您需要显示一些代码。你在哪里添加它?你清理细胞(特别是因为它们被重复使用)? – Larme

+2

[当您询问有关由您的代码导致的问题的问题时,如果您提供可用于重现问题的代码,您将得到更好的答案](http://stackoverflow.com/help/mcve) – swiftBoy

回答

0

TL; DR:如果您的表格视图中有不同的单元格类型,则应确保它们具有不同的标识符。

说明:UITableView

表细胞重新使用,并首先被显示的表,当它不会有任何可重复使用的细胞尚未。它通过UITableViewDataSource协议调用其数据源来获取单元格。

提供单元格的事物在创建新单元格之前,首先会询问表格视图是否有任何可重用的单元格(特定类型)。它确定特定类型的方式来自表格单元格中的reuseIdentifier。所以,如果你有两个不同类的表格​​单元,但它们共享相同的reuseIdentifier,你有时会得到一个类,有时会得到另一个类 - 如果你期望按钮时得到没有按钮的那个,那么这将会是个问题!

答案是确保你的不同细胞类型有独特的reuseIdentifier