【发布时间】:2014-08-27 03:21:34
【问题描述】:
我已经转了几个小时了。我有一个 Xamarin 故事板应用程序,其中有一个容器视图,其中嵌入了一个拆分视图控制器。我正在尝试根据表格上的用户选择来更改详细视图。在我的表 ViewController 中,我有:
public override void ViewDidLoad()
{
base.ViewDidLoad ();
string[] tableItems = new string[] {"Vegetables","Fruits","Flower Buds","Legumes","Bulbs","Tubers"};
this.TableView.Source = new TableSource (tableItems, this);
this.TableView.AllowsSelection = true;
this.TableView.ReloadData();
}
然后在我的表格源中,我有以下应该更改细节的内容。注意viewController1是表视图控制器,在设置源时传递给它。
public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
{
new UIAlertView("Row Selected", tableItems[indexPath.Row], null, "OK", null).Show();
tableView.DeselectRow (indexPath, true); // iOS convention is to remove the highlight
viewController1.ParentViewController.PerformSegue("DetailSegue", viewController1.ParentViewController);
}
我已经创建了一个从我的拆分视图控制器到我的详细视图控制器的 segue,称为 DetailSegue,这就是我所说的。这个错误,但无论哪种方式,我都不认为调用 segue 是正确的方式。
我也试过了:
viewController1.ParentViewController[1] = new TestDetailViewController();
但是当我使用情节提要时,TestDetailViewController 方法需要 intPtr 句柄,我不确定如何引用它。拆分视图控制器的 Xamarin 配方没有使用情节提要,我找不到正确的方法。
【问题讨论】:
标签: c# ios xamarin.ios storyboard xamarin