我有一个名为ReadingMaintView的tableviewcontroller。每行都有一个标签和一个数据集合控件,例如阅读日期有一个文本字段。为了允许用户使用他们的拇指滚动日期选择器以选择他们想要放入阅读日期的文本字段中的日期,我有另一个名为AccessoryViewController的ViewController。此视图上的所有内容都是一个日期选择器。当用户触摸accessorydetails按钮时,我有一个segue来启动AccessoryViewController。这样用户就可以选择他们想要的日期。
现在,我希望任何Viewcontroller能够将AccessoryViewController调用到它需要的日期。这意味着AccessoryViewController需要知道调用ViewController的名称,以便它可以反过来。我怎样才能做到这一点 ?我在ReadingMaintView中设置了segue的准备工作,当我触摸配件按钮时它会触发。但是我在AccessoryViewController中要做什么来检索被调用的名称(在本例中是ReadingMaintView)来进行回调?
答案 0 :(得分:0)
如果我理解你的问题,这里有一些建议。将ReadingMainView
作为参数传递给AccessoryViewController
public class AccessoryViewController : UIViewController {
public AccessoryViewController(UIViewController parent) {}
}
(编辑:@LarryOBrian当然是正确的。这已经由ParenViewController
属性处理了,所以这不是一个很好的建议......)
或让你的AcessoryViewController
发出一个事件,控制器启动它可以注册一个事件处理程序
// Somewhere in ReadingMaintView
var accessoryViewController = new AccessoryViewController();
accessoryViewController.ActionCompleted += (eventArgs) => {}
答案 1 :(得分:0)
每个UIViewController
都有ParentViewController
类型UIViewController
的属性。或者,您可以抓住UIWindow
的{{1}},如果您在层次结构中处于领先状态,则可以使用RootViewController
向下工作。
此外,我可能误解了您的用例,但似乎您可能只是致电ChildViewControllers
。