簡體   English   中英

UITableView在某些情況下不會滾動

[英]UITableView Won't Scroll In Certain Conditions

我的應用程序具有一組類別。 類別可以包含子類別。

DirectoryCategoryController是第一個屏幕,顯示所有頂級類別。 效果很好。 當您點擊一個單元格時,如果所選類別具有子類別,則我將實例化DirectoryCategoryController的新實例並將其推送以顯示子類別。 從那里,您點擊一個子類別並查看其內容。

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

如果點擊搜索欄並單擊“取消”,或者進入子類別的內容然后單擊“返回”,則沒有滾動的完全相同的表格視圖就可以正常工作。

此外,如果表格視圖中的項目超出了屏幕顯示的大小(此布局中的任何內容大於8),則一切正常。

非常奇怪的問題; 有點讓我震驚。 有見識嗎?

因此,我想出了這一點,並認為我將作參考。

在這一點上,我認為這可能是iPhone OS的錯誤,我正在提交RADAR。

如果所有內容都適合一個屏幕,則UITableView是其子類的UIScrollView將不會嘗試滾動。

以我為例,滾動視圖似乎認為一切都適合(非常接近),但事實並非如此。 實際上,如果您從UITableView中刪除了UISearchBar,那么所有內容都將適合並且不需要滾動。 我的猜測是,在附加UISearchBar時,它錯誤地確定了幾何形狀。

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

奇怪的是,當另一個視圖被推開然后彈出時,垂直彈起效果很好,這使我進一步懷疑這是一個iPhone錯誤。

當在Xcode 4.3.1中的Interface Builder中配置UITableViewUISearchBar作為標題視圖時,我注意到了同一件事。 在我的viewDidLoadMethod ,添加了以下代碼,它為我解決了這個問題:

self.contactsTable.bounces = YES;

我相信這是一個禁用bounces屬性的錯誤,但是可以通過重新啟用它來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM