我想我缺少一些基本的东西,所以我想向社区寻求帮助。我正在构建一个基于基本 iPhone 实用程序应用程序的应用程序。我的 MainView 和 FlipsideView 共享一些元素,因此我为这些部分创建了单独的 ViewController 和 nib 文件。为了做到这一点,我做了以下工作: 1. 创建了一个名为 searchDateViewController 的视图控制器,它是 searchDateView.xib 文件的所有者 2. searchDateView.xib 基本上是一个 UIView,里面有一个 UILabel,视图连接正确 3. 里面MainViewController.m 和 FlipsideViewController.m 我都添加了一个子视图,如下所示:
- (void)loadView{
[super loadView];
searchDateViewController = [[SearchDateViewController alloc] initWithNibName:@"SearchDateView" bundle:nil];
[[searchDateViewController view] setFrame:[searchDateView frame]];
[[self view] addSubview:[searchDateViewController view]];
...
}
一切都显示和工作得很好。基本上取决于在每个主视图和反面视图中发生的操作,笔尖的 UILabel 会发生变化。但是,如果 searchDateViewController 是从 MainView 或 FlipsideView 加载的,我想做一些稍微不同的事情。但是,我似乎无法弄清楚哪个 ViewController 正在添加 searchDateViewController 子视图。
在 searchDateViewController 我试过:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"superview %@", self.view.superview);
NSLog(@"parentviewcontroller %@", self.parentViewController);
}
在这两种情况下,我都得到零。
所以我的问题是 - 我可以找出哪个 ViewController 正在添加 searchDateViewController aa 子视图吗?如果有怎么办?或者如果我这里的逻辑完全搞砸了,我应该怎么做?
谢谢!