0

在我的项目中,我显示了一个viewController班级

settings.m

viewController调用触摸按钮事件之后,我调用了webView在加载 java 脚本后显示动画的本地函数,如下所示:

 [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];

它的工作...

但现在我想在其他类中发生事件时调用,所以我在 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 回答