2013-07-25 48 views
1

我有UITableView,並且我已經將tableview的高度設置爲308了。對於每個單元格,它們的大小爲154,如屏幕截圖所示。UITableView沒有設置指定的高度

enter image description here

現在,當我運行這一點,我在UITableView的3行。我期待只保持308的高度,並期待有滾動選項。在滾動時,我也會看到第3行,但是UITableView的行爲不同。它如下所示整個屏幕。

enter image description here

如果你看到,我可以看到第三排與排的高度增加。

要調整高度,如果tableview中,我在viewWillAppear中添加以下代碼,

mainTableView.frame = CGRectMake(mainTableView.frame.origin.x, mainTableView.frame.origin.y, 320, 308); 

當我運行這個第一次,我看到所有三排。當我嘗試添加並返回到主屏幕時,我現在只看到兩行。但問題是,當我滾動時,它崩潰。

崩潰說

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]' 

但這並不是實際的問題。如果這是問題,那麼它應該也是第一次去HomeViewController時崩潰。

任何建議我應該如何解決這個UITableView問題?

回答

0

您的彈簧和支柱配置爲自動調整UITableView以適合屏幕高度和寬度。如果您只需將表視圖的高度設置爲308px,則在選擇表格視圖時禁用界面構建器的「視圖」部分中的垂直箭頭。此外,就問題而言,看起來您沒有爲表格視圖啓用clipsToBounds屬性。

+0

「彈簧和支柱」,因爲你稱他們不會「自動調整UITableView適合屏幕高度和寬度」。他們應該將tableview保持在包含視圖的頂部/底部/左側/右側的固定距離處,並改變表視圖​​的寬度/高度以使其成爲真實。 –

+0

謝謝兄弟......它的工作......偉大偉大的偉大......將在2分鐘後接受答案...... –

相關問題