Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 同一视图控制器中的两个UINavigationController_Iphone_Ios_Ipad_Uiviewcontroller_Uinavigationcontroller - Fatal编程技术网

Iphone 同一视图控制器中的两个UINavigationController

Iphone 同一视图控制器中的两个UINavigationController,iphone,ios,ipad,uiviewcontroller,uinavigationcontroller,Iphone,Ios,Ipad,Uiviewcontroller,Uinavigationcontroller,我在使用iPad的UINavigationalControllers时遇到了一些问题 问题: UINavigationController1 UINavigationController2 放置在UIViewController中 当事件发生在UINavigationController1…中时,应在UINavigationController2 像这样的。。。。。单击UINavigationController1中的UITableViewCell时,视图之间的转换应在UINavigationC

我在使用iPad的
UINavigationalControllers
时遇到了一些问题

问题:

UINavigationController1
UINavigationController2

放置在
UIViewController

当事件发生在
UINavigationController1
…中时,应在
UINavigationController2

像这样的。。。。。单击
UINavigationController1
中的
UITableViewCell
时,视图之间的转换应在
UINavigationController2

需要一些建议如何处理这个


提前感谢

您应该使用委派来完成此操作

将其添加到@implementation上方ViewController1的.h中

@protocol ViewController1Delegate;
然后这个在@end下面

@protocol ViewController1Delegate <NSObject>

- (void)viewController1:(id)controller didDoAction;

@end
并在操作中调用委托方法

if ([self.delegate respondsToSelector:@selector(viewController1:didDoAction)]) {
    [self.delegate performSelector:@selector(viewController1:didDoAction) withObject:self];
}
现在,当启用ViewController2.h时,请导入ViewController1.h

#import ViewController1.h
现在,当打开ViewController2.h时,听下面这样的委托

@interface ViewController2 : UIViewController <ViewController1Delegate>
viewController1 = [ViewController1 new];
viewController2 = [ViewController2 new];
viewController1.delegate = viewController2
实例化视图控制器时,需要将viewController1的委托设置为viewController2,如下所示

@interface ViewController2 : UIViewController <ViewController1Delegate>
viewController1 = [ViewController1 new];
viewController2 = [ViewController2 new];
viewController1.delegate = viewController2

您可以使用委托进行相同的操作。为视图控制器和句柄操作创建自定义委托。愿它能帮助你。
viewController1 = [ViewController1 new];
viewController2 = [ViewController2 new];
viewController1.delegate = viewController2