最新更新:我创建了一个全新的项目,其构建方式与以下完全相同。然而,这个测试项目实际上工作得很好,即使它看起来是一样的......我注意到的一件事是,-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
当点击子视图控制器的视图时,损坏版本中的父视图控制器正在接收......在工作版本中,子视图控制器按应有的方式接收事件......就好像父视图阻塞了子视图或其他东西......?
进度更新:经过一番折腾,我发现直接将框架分配给子视图控制器时效果很好。但是,我必须使用自动布局创建我的项目,这就是我所做的。出于某种原因,自动布局导致子视图控制器的视图无响应......
目前我有一个只有 1 个子视图控制器的视图控制器。childviewcontroller 的视图显示得很好,但我根本无法与 childViewController 交互。childViewController 有几个 UIButton,但它们不响应点击。
我尝试在父视图控制器和子视图控制器中对此进行测试。
(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touched!");
}
在子视图控制器的视图框架中单击时,此方法在父视图控制器中响应,但在子视图控制器中不响应。
子视图控制器在直接创建它并将其设置为应用程序委托中的根视图控制器时也可以正常工作。
我在父视图控制器中使用的代码:
(void) viewDidLoad
{
[super viewDidLoad];
self.detailPageVC = [[GoalDetailsPageViewController alloc] init];
[self.view addSubview:self.detailPageVC.view];
[self addChildViewController:self.detailPageVC];
[self.detailPageVC didMoveToParentViewController:self];
}
谢谢你帮助一个菜鸟!:)