如何解决使用 C# 和 Xamarin 从 Visual Studio 中的 UITableViewController 调用 Instantiate UIViewController
所以使用 Visual Studio、C# 和 Xamarin,我有这个 我有一个 UITableViewController,它列出了一系列记录,当用户点击其中一个时,我希望他们看到一个 UIViewController 页面,其中显示了完整的记录详细信息。
但是我看到了 2 个错误:
PartsViewController PartsView= this.storyboard.InstantiateViewController("PartsViewController") as PartsViewController;
this.PresentViewController(PartsView,true,null);
这是我的第一个 IOS 应用程序,所以任何人都可以向我展示我的方法错误。
代码:
public partial class PartsListController : UITableViewController
{
public List<String> Partss { get; set; }
public List<String> Ndx { get; set; }
static readonly Nsstring PartsListCellId = new Nsstring("PartsListCell");
public PartsListController (IntPtr handle) : base (handle)
{
TableView.RegisterClassForCellReuse(typeof(UITableViewCell),PartsListCellId);
TableView.source = new PartsDataSource(this);
Partss = new List<string>();
Ndx = new List<String>();
}
class PartsDataSource : UITableViewSource
{
PartsListController controller;
public PartsDataSource(PartsListController controller)
{
this.controller = controller;
}
public override void RowSelected(UITableView tableView,NSIndexPath indexPath)
{
PartsViewController PartsView= this.storyboard.InstantiateViewController("PartsViewController") as PartsViewController;
string selection = controller.Partss[indexPath.Row];
string pos = controller.Ndx[indexPath.Row];
this.PresentViewController(PartsView,null);
}
public override nint RowsInSection(UITableView tableView,nint section)
{
return controller.Partss.Count;
}
public override UITableViewCell GetCell(UITableView tableView,NSIndexPath indexPath)
{
var cell = tableView.DequeueReusableCell(PartsListController.PartsListCellId);
var row = indexPath.Row;
cell.TextLabel.Text = controller.Partss[row];
return cell;
}
}
}
}
解决方法
已排序 来了
public override void RowSelected(UITableView tableView,NSIndexPath indexPath)
{
PartsViewController PartsView= controller.storyboard.InstantiateViewController("PartsViewController") as PartsViewController;
string selection = controller.Partss[indexPath.Row];
string pos = controller.Ndx[indexPath.Row];
controller.NavigationController.PushViewController(RecipeView,true);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。