我有表源类,在行单击时,我正在调用下面的函数以移动到另一个控制器,但我想传递一些数据。
controller.PerformSegue("backtorootviewsague",controller);
有谁知道我怎样才能实现它。我是monotouch和ios的新手。我无法弄清楚如何实现这一目标。
我有表源类,在行单击时,我正在调用下面的函数以移动到另一个控制器,但我想传递一些数据。
controller.PerformSegue("backtorootviewsague",controller);
有谁知道我怎样才能实现它。我是monotouch和ios的新手。我无法弄清楚如何实现这一目标。
PrepareForSegue
是正确的地方。例如,如果创建的控制器
CustomerViewController
被调用CustomerListViewController
,则在该方法中覆盖,CustomerListViewController
如下所示:
public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
{
base.PrepareForSegue (segue, sender);
// do first a control on the Identifier for your segue
if (segue.Identifier.Equals("your_identifier")) {
var viewController = (CustomerViewController)segue.DestinationViewController;
viewController.MyData = dataToInject;
}
}
whereCustomerViewController
具有如下公共属性:
public SomeTypeData MyData { get; set; }
您可以在Xamarin 示例中看到这一点。
希望有帮助。
我是这样计算的:(Visual Studio/Xamarin-iOS/C#)
public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)
{
base.PrepareForSegue(segue, sender);
if (segue.Identifier.Equals("my Segue ID"))
{
var viewController = (MyDestinationViewController)segue.DestinationViewController;
viewController.selectedItemInDestinationController = selectedControlStringFromViewController;
}
}
执行转场:
this.PerformSegue("my segue ID", this);
在目标 ViewController 上,添加:
public string selectedControlName;
protected ControlShowController(IntPtr handle) : base(handle)
{
}