Xamarin iOS RowSelected 事件导航到 ViewController

Posted

技术标签:

【中文标题】Xamarin iOS RowSelected 事件导航到 ViewController【英文标题】:Xamarin iOS RowSelected Event navigate to ViewController 【发布时间】:2014-04-25 12:49:45 【问题描述】:

我有一个表格视图。我想当我单击一行以捕获列表上的行信息并将它们传递给 DetailScreen UIViewController 时。我已经使用 xamarin Studio 创建了 iPhone 视图控制器,并且对于我使用 Xcode 的布局。我正在尝试以下代码,但出现错误“System.NullReferenceException:对象引用未设置为对象的实例 " 我试过这个解决方案但没有成功:How to navigate to ViewController in Xamarin ios on RowSelected event

我的代码:

UIViewController parentController;
public override void RowSelected (UITableView tableView, NSIndexPath indexPath)

   var dtscreen = new DetailScreen (mylist);
   parentController.NavigationController.PushViewController(dtscreen,true);// Error System.NullReferenceException
   tableView.DeselectRow (indexPath, true);
           

【问题讨论】:

您说您想将详细信息传递给另一个视图,但您的代码尝试推送视图控制器,您真正想要做什么? 我更新了我的问题。我想在 DetailScreen UIViewController 上传递这个列表 但是 DetailsS​​creen 是新视图还是现有视图? 我不是用代码创建视图控制器。我已经使用 xamarin studio xib 和 cs 文件创建了这个视图控制器 我的意思是,您必须实例化并在那里呈现该控制器还是已经呈现? 【参考方案1】:

请更改下一部分代码:

public TableSource (List<Item> Items, UIViewController viewController)
 _Items= Items; parentController = viewController;

【讨论】:

以上是关于Xamarin iOS RowSelected 事件导航到 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Xamarin iOS PickView 获取价值?

当我从 UITableViewSource 单击 RowSelected 时如何打开 UIViewController

Kendo 网格 - 如何获取 RowSelected 上的行详细信息?

UITableViewDelegate 中的问题 - RowSelected 给出错误的 NSIndexPath

MonoTouch 如何为带有静态单元格的 UITableViewController 实现 RowSelected

函数 rowSelected 已被调用两次(选中和取消选中)