0

ビュー コントローラーをカスタム メニューからメインのサブクラス化されたナビゲーション コントローラーにプッシュできるようにしたいのですが、デリゲートを使用して実行したいと考えています。ビュー コントローラーを変更しようとする前に、現在のビュー コントローラーのタイトルを変更するための簡単な方法を試しました。これは私がこれまでに書いたコードですが、TableView セルをテーピングしてもデリゲートはトリガーされません。(またはそう思われる)

お知らせ下さい

                -> RootViewController
                 / \
            コンテナコンテナ       
                | | | |
     SlideMenuViewController サブクラス化された UINavigationController
                | | | | | | | | | |
     UITableViewController VC1 VC2 VC3 VC4


SlideMenuViewController.h:

@protocol SlidingMenuDelegate <NSObject>

@end

@interface SlideMenuViewController : UIViewController
{
        id <SlidingMenuDelegate> delegate;
}
@property (strong, nonatomic) id delegate;

SlideMenuViewController.m:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //do something to send controller

    ((UIRTLNavigationController *)(self.delegate)).titleForView.text = @"test";
}

MyNavigationController.h:

@interface MyNavigationController : UINavigationController <UINavigationControllerDelegate>

@property (nonatomic, strong) UILabel *titleForView;

MyNavigationController.m:

- (void)showRightMenu
{
...
...
//Some animation to slide the menu out

    //Delegate stuff
    //Get the storyboard's instance.
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];

    SlideMenuViewController *slideMenuVC;

    //Get the viewcontrollers instance from the storyboard's instance
    slideMenuVC = [storyBoard instantiateViewControllerWithIdentifier:@"slideMenuSID"];
    slideMenuVC.delegate = self;
}
4

1 に答える 1