【发布时间】:2012-04-10 17:23:46
【问题描述】:
我有一个带有DialogViewController 的TabBarController 应用程序,它工作正常,除了在初始加载时表格是空的,直到我触摸它或导航到另一个选项卡并返回 (http://cl.ly/3I0r1v2b420t0L1X1h2w)。
我已经确认Root 已设置。我试过之后发出ReloadData()。我也试过直接设置TableView.Source。在每种情况下,TableView 在发生其他操作之前都不会显示任何内容。
这发生在模拟器和 iPhone 上。
知道为什么会这样吗?
public partial class PapersView : DialogViewController
{
public PapersView () : base (UITableViewStyle.Plain, null, true)
{
EnableSearch = true;
AutoHideSearch = true;
SearchPlaceholder = @"Find Papers";
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
MonoTouch.UIKit.UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true;
var svc = new PaperService ();
svc.GetPapers (onPapersReceived, onErrorReceived);
}
private void onErrorReceived (string error)
{
MonoTouch.UIKit.UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;
}
private void onPapersReceived (List<PaperNode> papers)
{
MonoTouch.UIKit.UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false;
Root = new RootElement ("Papers") {
from node in papers
group node by (node.paper.title [0].ToString ().ToUpper ()) into alpha
orderby alpha.Key
select new Section (alpha.Key){
from eachNode in alpha
select (Element)new WhitePaperBible.iOS.UI.CustomElements.PaperElement (eachNode)
}};
TableView.ScrollToRow (NSIndexPath.FromRowSection (0, 0), UITableViewScrollPosition.Top, false);
}
}
【问题讨论】:
-
在初始加载和第二次加载时调用(或不调用)哪些事件?
-
如果我明白你在问什么...我在所有方法中都设置了断点,并且这些方法只在应用程序初始化时调用一次。然后我触摸 UITableView 并在滚动时显示数据。如果我点击另一个选项卡并返回,结果相同...在该 DialogViewController 中没有调用其他任何内容,但数据显示出来。
标签: xamarin.ios monotouch.dialog