我在iPad上使用UINavigationalControllers
时遇到了一些问题。
问题:
UINavigationController1
UINavigationController2
放在UIViewController
。
当事件发生在UINavigationController1
....时,行动应该在UINavigationController2
这样的事情.....当UITableViewCell
中的UINavigationController1
点击发生时,视图之间的转换应该在UINavigationController2
需要一些建议如何处理...
提前致谢
答案 0 :(得分:0)
您应该使用委托来执行此操作
在@implementation
上方的ViewController1的.h中添加它@protocol ViewController1Delegate;
然后在@end
下面@protocol ViewController1Delegate <NSObject>
- (void)viewController1:(id)controller didDoAction;
@end
然后在控制器中声明一个ViewController1Delegate类型的属性
@property (nonatomic, assign) id <ViewController1Delegate> delegate;
然后将其添加到ViewController1的.m中
@synthesize delegate;
并在操作上调用委托方法
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>
然后在.m中实现方法
- (void)viewController1:controller didDoAction
{
//implement
}
当视图控制器被实例化时,需要将viewController1的委托设置为viewController2,如下所示
viewController1 = [ViewController1 new];
viewController2 = [ViewController2 new];
viewController1.delegate = viewController2