0

私のプロジェクトでは、viewControllerfrom クラスを表示します

settings.m

その中で、タッチボタンイベントが呼び出された後、次のようなJavaスクリプトをロードした後にアニメーションviewControllerで表示するローカル関数を呼び出します:webView

 [self.webView setFrame:CGRectMake( 0.0f, 480.0f, 320.0f, 480.0f)]; 
    [UIView beginAnimations:@"settingsAnimate" context:nil];
    [UIView setAnimationDuration:1.5];
    [self.webView setFrame:CGRectMake( 0, 120, 320, 320)]; 
    [self.viewController.view addSubview:self.webView];
    [UIView commitAnimations];

その作業...

しかし、今は他のクラスでイベントが発生したときにifを呼び出したいので、settings.mで以下のコードを使用して関数を作成し、イベントが発生した後、そのクラスからその関数を呼び出します:

settings *ss = [settings alloc];
[ss showAnimation];

私はその機能に入りましsettings.mたが、何も起こりません...何が問題なのですか?

デリゲートを使用してみました:私のOptions.m中で、それは関数に入りますが、webViewは変わりません。

@protocol IGameP
- (void) showAnimation;
@end

@interface options : CDVPlugin<IGameP>{
    id <IGameP> delegate;

}

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

options.m:

settings *s1t = [settings alloc];
[self setDelegate: s1t];

[self.delegate showAnimation];
4

1 に答える 1

0

後方メッセージ (つまり、他のクラスの関数の呼び出し) にはデリゲートを使用します。そのため、別のビューからのビューで要件を有効にしたい場合は、デリゲートを使用するのが最善です

于 2012-10-03T09:15:39.730 に答える