Ios 将新视图控制器添加到具有左视图控制器、右视图控制器和主视图控制器的自定义滑动视图控制器

Ios 将新视图控制器添加到具有左视图控制器、右视图控制器和主视图控制器的自定义滑动视图控制器,ios,iphone,objective-c,uiviewcontroller,Ios,Iphone,Objective C,Uiviewcontroller,我创建了一个SlidingViewController,它有主视图、右视图和左视图控制器。现在,我想添加一个新的函数/方法,每当单击RightViewController的表视图单元格之一时,就会调用该函数/方法,以将主视图控制器切换到与该表视图单元格在indexath.row链接的任何视图控制器。新的视图控制器应该仍然能够使用此右视图控制器和左视图控制器。有没有人有过创建自己的SlidengViewController或MenuViewController的经验,可以帮助我解决这个问题?任何帮

我创建了一个SlidingViewController,它有主视图、右视图和左视图控制器。现在,我想添加一个新的函数/方法,每当单击RightViewController的表视图单元格之一时,就会调用该函数/方法,以将主视图控制器切换到与该表视图单元格在indexath.row链接的任何视图控制器。新的视图控制器应该仍然能够使用此右视图控制器和左视图控制器。有没有人有过创建自己的SlidengViewController或MenuViewController的经验,可以帮助我解决这个问题?任何帮助都将不胜感激。先谢谢你

滑动视图控制器.h

@interface SlidingViewController : UIViewController <UIGestureRecognizerDelegate>

@property (retain) UIViewController *mainViewController;
@property (retain) UIViewController *leftViewController;
@property (retain) UIViewController *rightViewController;
@property (retain) NSNumber *leftSwipeEnabled;
@property (assign) BOOL leftDrawerVisible;
@property (retain) NSNumber *rightSwipeEnabled;
@property (assign) BOOL rightDrawerVisible;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil mainViewController:(UIViewController *)main leftViewController:(UIViewController *)left andRightViewController:(UIViewController *)right;
-(void)toggleLeftDrawer;
-(void)toggleRightDrawer;
@end
您可以通过“委托设计模式”简单地做到这一点

在RightViewController.h中添加以下行

@protocol RightViewControllerDelegate <NSObject>

@required
   - (void)somethingClicked : (id)theObject;

@end

@interface RightViewController : UIViewController

@property (nonatomic, assign) id<RightViewControllerDelegate> delegate;

@end
- (void)somethingClicked : (id)theObject
{
   [_delegate somethingClicked:theObject];
}
使用以下代码更新MainViewController.h

@interface MainViewController : UIViewController <RightViewControllerDelegate>
您可以通过“委托设计模式”简单地做到这一点

在RightViewController.h中添加以下行

@protocol RightViewControllerDelegate <NSObject>

@required
   - (void)somethingClicked : (id)theObject;

@end

@interface RightViewController : UIViewController

@property (nonatomic, assign) id<RightViewControllerDelegate> delegate;

@end
- (void)somethingClicked : (id)theObject
{
   [_delegate somethingClicked:theObject];
}
使用以下代码更新MainViewController.h

@interface MainViewController : UIViewController <RightViewControllerDelegate>

单击RightView时是否要更改MainViewController的内容?@iBhavesh每当单击RightView中的表视图单元格时,我都要更改当前的MainView。基本上是交换视图控制器。要在单击RightView时更改MainViewController的内容吗?@iBhavesh每当单击RightView中的表视图单元格时,我都要更改当前的MainView。基本上交换视图控制器。