1

メイン ビュー コントローラー クラスに多数のグリッド ビューがある iPhone アプリケーションを作成しています。したがって、メイン ビューからグリッド セルを選択したときに、Reveal コントローラーをロードする必要があります。レイアウトは次のようになります

ここに画像の説明を入力 ここに画像の説明を入力

メイン ビュー コントローラーに次のコードがあります。

-(void) gridView:(UzysGridView *)gridView didSelectCell:(UzysGridViewCell *)cell   
atIndex:(NSUInteger)index
{
if (index == 0){
    FrontViewController *frontViewController = [[FrontViewController alloc]  
    init];

    RightViewController *rightViewController = [[RightViewController alloc] init];

    UINavigationController *frontNavigationController = [[UINavigationController alloc] 
    initWithRootViewController:frontViewController];

    SWRevealViewController *mainRevealController = [[SWRevealViewController alloc]
                                                    initWithRearViewController:nil 
    frontViewController:frontNavigationController];

    mainRevealController.delegate = self;

    self.revealController.rightViewController = rightViewController;

    self.revealController = mainRevealController;

    [self.navigationController pushViewController:self.revealController animated:YES];
 }

ここのメインView Controller .hファイルで、

 @property (strong, nonatomic) SWRevealViewController *revealController;

また、私は SWRevealViewControllerDelegate を宣言しています。問題は、この self.revealController がロード/表示されないことです。App Delegate も試しましたが、何も機能しません。ありがとう。

4

1 に答える 1

2

私はそれを解決しました:以下のコードを使用してください..

    -(void) gridView:(UzysGridView *)gridView didSelectCell:(UzysGridViewCell *)cell   
    atIndex:(NSUInteger)index {

    if (index == 0){
    FrontViewController *frontViewController = [[FrontViewController alloc] 
    init];

    myNavigationController = [[UINavigationController alloc] 
    initWithRootViewController:frontViewController];

    SWRevealViewController *revealController = [[SWRevealViewController alloc] 
    initWithRearViewController:nil frontViewController:myNavigationController];

    revealController.delegate = self;

    RightViewController *rightViewController = 
    [[RightViewController alloc] init];

    rightViewController.view.backgroundColor = [UIColor greenColor];

    revealController.rightViewController = rightViewController;

    self.viewController1=revealController;

    [self presentViewController:self.viewController1 animated:YES completion:nil];
                   }
    }

そしてClass.hファイルで

     @property(nonatomic, strong) UINavigationController *myNavigationController;

     @property(nonatomic, strong) SWRevealViewController *viewController1;
于 2013-08-05T05:08:49.600 に答える