2016-09-21 55 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