簡體   English   中英

優化向 UIStackView 添加視圖

[英]Optimizing adding views to a UIStackView

我在滾動視圖中有多個UIStackViews 加載視圖時,每個堆棧視圖(例如 6 個)都填充了約 8 個視圖。 這意味着在表格視圖單元格點擊時,48 個視圖將被初始化並相等地添加到 6 個堆棧視圖之一。 可以想象,點擊表格視圖單元格加載堆棧視圖時會有 0.5 - 1 秒的延遲。 在 iOS 應用程序中,這絕對感覺像是變慢了,並且感覺不對。

簡化我的代碼如下所示:

for (index, stackView) in stackViews.enumerated() {
  for view in views[index] {
    stackView.addArrangedSubview(view)
  }
}

我已經考慮過這些選擇:

  • 在進入和離開視圖時添加/刪除堆棧視圖,盡管在 iPad 上無論如何都可以看到所有堆棧視圖。
  • 多線程,雖然我不確定這是否可行,因為所有 UI 代碼都需要在主線程上運行。
  • 簡單地使用draw作為堆棧視圖中的視圖在外觀上幾乎都是相似的。

這些中的任何一個值得承諾嗎? 還有其他我沒有考慮過的選擇嗎?

選擇選項 (2)。 正如這里提到的,在主線程之外准備視圖可能沒問題。 如果這些視圖足夠相似,我肯定會事先准備好它們並在某處設置一個游泳池 此外,檢查任何數據處理影響:您是否顯示任何圖像或其他內容? (這在給定的代碼中看不到,如果需要,請提供更多)。

暫無
暫無

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

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