在應用程序中我建立我用下面的模式後:如果用戶點擊一個分層導航元素我馬上打開下一個UIViewController
,大約需要裝載護理其數據本身,並顯示加載微調,如果它正在通過網絡。怪異塊時元素MonoTouch的對話框rootElement的它顯示
現在大多數列表視圖使用MonoTouch
創建。在一個DialogViewController
我有一個問題,在屏幕已經顯示後向視圖RootElement添加許多元素。
起初StringElements
出現在屏幕上很好,但如果你上下對每行文字快速滾動成爲一個塊:
代碼來重現問題:
var root = new RootElement("Root");
var dvc = new DialogViewController(root) { AutoHideSearch = true, EnableSearch = true };
nav.PushViewController(dvc, true);
Task.Factory.StartNew(() => {
Thread.Sleep(TimeSpan.FromSeconds(1));
UIApplication.SharedApplication.InvokeOnMainThread(() => {
var sec = new Section();
for (int i = 0; i < 100; i++)
{
var el = new StyledStringElement("Test", "Test", UITableViewCellStyle.Value1);
sec.Add(el);
}
root.Add(sec);
});
});
有趣的是,只有左邊的字符串看起來像一個塊,而右邊的字符串很好。在附註中,在他們的MWC(演示)應用程序中,Xamarin created a new RootElement to repopulate the twitter list as well。
但是怎麼來的工作在第一和滾動關閉並再次啓動後休息? – Timm 2012-02-26 21:20:50
對不起,我最初的假設似乎錯了。我正在調整答案。 – Anuj 2012-02-26 21:42:59
添加'dvc.ReloadData();'確實修復了這個問題。但是從我有限的理解來看,這是我應該提交的一個錯誤。請在這個問題上投票,因爲您發現它值得回答;-)我會等待「接受」,直到我從錯誤報告中收到回覆。 – Timm 2012-02-27 13:30:37