簡體   English   中英

滾動視圖內的表視圖

[英]Table views inside a scroll view

我的Swift應用程式有這個點擊問題。 我正在一個UIScrollView內建立帶有2個UITableView的配置文件屏幕。 但是,只有1個UITableCell是可單擊的(之所以必須將兩個表分開,是因為最上面的表按ASC排序-從最近到將來的日期,而最下面的表按DESC排序-從最新到最舊的)。

在此處輸入圖片說明

這些表是根據內容自動拉伸的,如下面的代碼所示。 問題是只有第一項是可單擊的。

在其他帶有1 UITableView屏幕中,一切都很好。 我還確保使用UI調試器在表的前面沒有視圖。

// Table 1
// UITableViewDelegate, UITableViewDataSource
managerUpcoming.getTable().reloadData()
// Height Constraint
heightUpcoming.constant = managerUpcoming.getTable().contentSize.height
// Resize table
managerUpcoming.getTable().frame.size.height = heightUpcoming.constant
// Update
managerPrevious.getTable().updateConstraints()

// Table 2
// UITableViewDelegate, UITableViewDataSource
managerPrevious.getTable().reloadData()
// Height Constraint
heightPrevious.constant = managerPrevious.getTable().contentSize.height
// Resize table
managerPrevious.getTable().frame.size.height = heightPrevious.constant
// Update
managerPrevious.getTable().updateConstraints()

viewContent.frame.size.height = total
scroll.contentSize.height = viewContent.frame.height

在此處輸入圖片說明

任何幫助和建議都將受到高度贊賞。 謝謝。

在Scrollview中有兩個表視圖是一個不好的設計IMO。 即使進入Android開發領域的另一端,也建議您不要這樣做。 根據您提供的有關如何放置兩個表格視圖的圖片,可能還需要:

  1. 兩個分開的數組,用於存儲要排序的數據,降序排列,一個用於升序排列。
  2. 分兩部分填充表格視圖。 如果第0節用於升序項,則使用升序數據/數組在該節中加載行/單元格數據,然后使用降序數據/數組對第1節執行相同的操作。 這可以通過節和單元格的數據源方法實現內的條件語句輕松實現。
  3. 如果您認為仍然必須在每個已經由節分隔的單元上實現節,則可以通過各種方式創建一個自定義單元以用作類似節的布局。 您不僅可以創建自定義單元,還可以小心處理它們。
  4. 如果僅此簡單方法還不夠,那么您可以通過集合視圖使用更高級的實現,並且根據您的問題已經是另一個主題了。

當前設計的主要問題(在滾動視圖中使用2個表視圖)很可能會導致數據加載效率低下,因為您需要在兩個表上加載所有數據,只是為了確定滾動視圖的內容高度。 除了手勢需要額外的路由這一事實之外,您當前的設計還會限制您的應用延遲加載當前需要顯示的單元格/數據的能力。

暫無
暫無

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

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