2009-10-05 52 views
1

我的應用程序有一組類別。一個類別可以有子類別。UITableView在某些條件下不會滾動

DirectoryCategoryController是第一個屏幕,顯示所有頂級類別。很棒。當你點擊一個單元格時,如果所選擇的類別具有子類別,我實例化一個DirectoryCategoryController的新實例並推送它以顯示子類別。從那裏,你點擊一個子類別並查看內容。

問題是,儘管頂層工作正常,當我點擊並查看子類別時,表格視圖將不會滾動。搜索欄需要觸摸,表格單元格需要觸摸,但是上下滾動不起作用,就像表格視圖在空間中垂直凍結一樣。

如果我點擊搜索欄並點擊取消,或者如果我進入子類別的內容,然後回來,非相同的表格視圖,沒有滾動工作就好了。另外,如果表格視圖比屏幕上的項目多(在此佈局中關於大於8的任何項目),則一切正常。

很奇怪的問題;有點吹我的腦海。任何見解?

+0

你能告訴我們代碼嗎? – 2009-10-05 23:00:08

+1

「如果表格視圖中的項目多於屏幕上顯示的項目......,一切正常」如果項目數量較少,那麼表格不需要滾動,不是? – mahboudz 2009-10-06 03:54:38

+1

問題是事情'幾乎'適合。它似乎是iPhone操作系統中的一個錯誤,它只是錯過了決定是否需要滾動的問題。 – Hunter 2009-10-07 23:23:10

回答

14

所以,我想到了這一點,並認爲我會回答作爲參考。

在這一點上,我認爲這可能是一個iPhone操作系統的錯誤,我正在申報雷達。

如果所有內容都放在一個屏幕上,UITableView是其子類,UITcrollView將不會嘗試滾動。

在我的情況下,它看起來滾動視圖認爲一切都合適(這是非常接近),但它沒有。實際上,如果你從UITableView中移除了UISearchBar,那麼一切都會合適,並且不需要滾動。我的猜測是,它附加UISearchBar時不正確地確定幾何。

無論如何,解決方法是添加此: [self.tableView setAlwaysBounceVertical:YES];

奇怪的是,當另一個視圖被推動,然後彈出,垂直反彈工作正常,進一步我懷疑這是一個iPhone的錯誤。

+0

感謝@獵人!我只是有與iOS 4.3.3和Xcode 4.0.2完全相同的問題。而你的解決方案仍然有效!謝謝!!! – 2011-06-18 16:38:25

+0

也只是幫助我停止撞我的頭對着桌子,謝謝。 – GregularExpressions 2012-03-06 17:03:47

+0

我希望我可以多次贊成這個。我已經在多個應用中遇到過這個問題。我只是在模擬器中做了一些測試 - 它仍然發生在iOS 5.0和5上。1,但似乎固定在6.0。 – Jeremy 2012-09-21 02:35:25

0

當使用A UITableViewUISearchBar作爲標題視圖時,我注意到了相同的情況,如在Xcode 4.3.1中的Interface Builder中配置的。在我viewDidLoadMethod,我添加以下代碼,它解決了這一問題對我來說:

self.contactsTable.bounces = YES;

我相信它是禁用bounces性質的錯誤,但它可以通過重新啓用它是固定的。