我正在破解multicanvas 示例。我想修改它,以便在显示新目标视图时触发一些事件,即在 transitionFromView 方法完成时。
我知道我可能会从 transitionFromView 方法的完成块中触发一些事件,但我想知道是否有一个现有的回调机制来解决这个问题。
我已经尝试在目标画布中实现以下内容,但是在切换视图时似乎没有调用:
- (void)viewDidAppear{
NSLog(@"my event");
}
还有另一个我不知道的回调吗?谢谢你。
我正在破解multicanvas 示例。我想修改它,以便在显示新目标视图时触发一些事件,即在 transitionFromView 方法完成时。
我知道我可能会从 transitionFromView 方法的完成块中触发一些事件,但我想知道是否有一个现有的回调机制来解决这个问题。
我已经尝试在目标画布中实现以下内容,但是在切换视图时似乎没有调用:
- (void)viewDidAppear{
NSLog(@"my event");
}
还有另一个我不知道的回调吗?谢谢你。
尝试使用以下方法:
-(void)viewDidAppear:(BOOL)animated {}
-(void)viewDidDisappear:(BOOL)animated {}
注意:这是:(BOOL)animated {}
您的方法名称中缺少的部分。
我下载了 MultiCanvas 示例,并像这样为每个画布设置标题(将 A 更改为 B 和 C):
-(void)setup {
self.title = @"WorkSpaceA";
//... the rest of the setup code as per the example
}
我还为每个画布添加了两种方法:
-(void)viewDidAppear:(BOOL)animated {
C4Log(@"%@ %@",self.title,NSStringFromSelector(_cmd));
}
-(void)viewDidDisappear:(BOOL)animated {
C4Log(@"%@ %@",self.title,NSStringFromSelector(_cmd));
}
然后我得到以下日志:
//at launch
[C4Log] WorkSpaceA viewDidAppear:
//then I tapped button B
[C4Log] WorkSpaceB viewDidAppear:
[C4Log] WorkSpaceA viewDidDisappear:
//then I tapped button A
[C4Log] WorkSpaceA viewDidAppear:
[C4Log] WorkSpaceB viewDidDisappear:
//then I tapped Button C
[C4Log] WorkSpaceA viewDidAppear:
[C4Log] WorkSpaceB viewDidAppear:
[C4Log] WorkSpaceC viewDidAppear:
[C4Log] WorkSpaceA viewDidDisappear: