簡體   English   中英

替代UITableView.Begin / EndUpdates

[英]Alternative to UITableView.Begin/EndUpdates

我們有一個自定義的MonoTouch對話框(MT D)元素,我們希望在鍵入該元素時對其進行擴展。

我們遇到了不重新計算高度的常見MT D問題。 常見的解決方案是致電

this.GetContainerTableView().BeginUpdates();
this.GetContainerTableView().EndUpdates();

堆棧溢出問題

Monotouch:強制UITableView重新計算每個單元格的高度,而無需重新加載數據

即使對我們來說,這確實很有效,即使它確實散發出HACK的味道。 但是,用戶正在報告其iPhone X上的問題,這意味着每次滾動整個MT D容器(UITableView)都會導致屏幕跳轉。

我嘗試暫時禁用元素容器和直接RootElement上的滾動,但這沒什么區別。

任何人都可以提出一些建議來阻止跳躍嗎?

我曾嘗試在Begin和EndUpdates之前將滾動位置設置回它的值,但在嘗試掛鈎滾動事件時遇到異常

UIKit.UIApplication.EnsureEventAndDelegateAreNotMismatched 

但是,此建議可以在不使用Scroll Event的情況下進行重置。 謝謝凱爾·香克(Kyle Shank)

http://www.kyleshank.com/2015/12/05/prevent-uitableview-from-scrolling-during-updates.html

注意:在發布到SO之前,我花了大約幾個小時來嘗試解決這個問題。 在寫問題時,我找到了Kyke Shank解決方案,但決定如果我仍然以問題和后續答案的形式來寫,我們會更好。

暫無
暫無

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

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