0

ECSliding を使用していますが、この問題があります。

topView と 2 つのメニューがあります。

left (LeftViewController) 
right (RightViewController)

両方UIViewController

AppDelegate で、右側のビュー コントローラー、左側のビュー コントローラーへの参照を提供したいと考えています。

私はでしたLeftViewController.h

#import "RightViewController.h"
@class RightViewController;
@property (strong, monatomic) RightViewController *rightView;

で: didFinishLaunchingWithOptions_AppDelegate.m

RightViewController *rightViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Right"];
LeftViewController *leftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Left"];

leftViewController.rightView = rightViewController;

AppDelegate.mしかし、私はon でこのエラーを受け取りますself.storyboard:

Property 'storyboard not found on object of type 'AppDelegate *

どうすればこの問題を解決できますか?

4

2 に答える 2

0

まず、AppDelegate にはプロパティがありませんstoryboard。これは UIViewController プロパティです。

次に、メインのストーリーボードをロードしてビュー コントローラーをインスタンス化する場合は、次のことを試してください。

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"YourStoryboardName" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"YourViewController"];

また、View Controller 識別子を正しく設定していることを確認してください。

于 2013-06-03T20:14:27.780 に答える
0

それらに相互参照を静的に与えないでください。代わりに、それらがスライディング ビュー コントローラーの一部である場合self.slidingViewControllerは有効な参照となり、実際に存在する関係に基づいて移動できます。

self.slidingViewController.underLeftViewController

それを使用するときは、クラスを確認して参照をキャストする必要があります。

LeftViewController *leftController = self.slidingViewController.underLeftViewController;

if ([leftController isKindOfClass:[LeftViewController class]]) {
    leftController. ...;
}
于 2013-06-03T20:16:48.587 に答える