上图显示了我的应用程序架构..我创建了一个自定义视图,以便在1和2中显示UIViewController3中的内容。
我希望在VC1和2 ..
中触摸自定义视图时直接跳转到VC4自定义视图是UIView,我在Interface Builder中将其更改为UIControl,以接收触摸事件..
我在自定义视图类touchevent方法中使用了以下代码
- (IBAction)customViewTouched:(id)sender {
VC4 *nextController = [[VC4 alloc] initWithNibName:@"VC4" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:nextController];
[self presentViewController:navigationController animated:YES completion:nil];
navigationController.navigationBar.tintColor = [UIColor blackColor];
navigationController.navigationBar.topItem.title = @"My Title";
navigationController.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(cancel)];
navigationController.navigationItem.hidesBackButton = FALSE;
// navigationController.navigationBar.backItem.title = @"back";
}
在VC2中触摸自定义视图时(正确调用它) - VC4弹出,但仅在自定义视图中弹出..
此外,我无法在导航栏上找到后退按钮。 (正如其他stackoverflow答案中所建议的那样,我也尝试在ViewDidLoad中设置自定义视图的标题)
3.我在VCView中创建了一个虚拟的UIButton,并将customView放在其中..这样我就可以在VC1上处理触摸事件..这会产生任何性能问题吗?
[myCustomViewButton addTarget:self action:@selector(myEventHandler) forControlEvents: UIControlEventTouchUpInside];
当我使用上面的代码时,它没有抛出任何错误,但myEventHandler方法永远不会被调用..在addTarget而不是'self'当我使用'UIViewController'类名时,它抛出一个错误..
我不知道如何继续这个..感谢任何帮助:)
答案 0 :(得分:0)
将[self presentVC]更改为[self.parentVC presentVC]
您正在呈现VC4的VC3作为VC1和VC2中的子项嵌入