此致 Sonic555gr
答案 0 :(得分:0)
将isPaused定义为定义isPaused的类中的属性(让我们称之为MasterView):
// inside MasterView.h
@property (nonatomic,assign) BOOL isPaused;
然后让你的子视图暂停查看一个自定义的UIView子类(让我们称之为PauseView),并在这个子类中定义一个名为master的类型为MasterView的属性:
// inside PauseView.h
@property (nonatomic,assign) MasterView *master
然后当你分配/初始化你的pauseView时,只需设置这个属性:
// somewhere inside MasterView.m
PauseView *pauseView = [[PauseView alloc] initWithFrame:frame];
pauseView.master=self;
最后在您的PauseView类中,在您要更改isPaused属性的代码中,执行以下操作:
// somewhere in PauseView.m
master.isPaused=YES
答案 1 :(得分:0)
你真的应该考虑一下你的架构,并尝试将你的应用程序逻辑从UIViews转移到控制器(即代理可能是一个不错的选择,但如果没有看到更多的代码和你是什么就不可能知道试图实现)。
如果你坚持从UIView操作变量,你需要在初始化时将viewController的引用传递给pauseView。
因此,在PauseView类中,您将创建一个自定义初始化程序:
-(id)initWithFrame:(CGRect)frame andViewController:(id)vc {
self = [super initWithFrame:frame];
if (self) {
// Any other custom initialisation here
}
}