我正在为 iOS 上的游戏应用程序使用 TapJoy SDK。 SDK 有一种在应用程序顶部显示 View 的方法:http://knowledge.tapjoy.com/integration-8-x/ios/pb/featured-app
我可以给函数一个 UIVIewController 参数,这样我就可以自己管理显示/隐藏。
我创建了以下 UIViewVontroller:
@interface MyViewController : UIViewController
- (void) viewDidLoad;
- (void) viewDidUnload;
- (void) viewWillLoad;
- (void) viewWillUnload;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
@end
@implementation MyViewController
- (void) viewDidLoad
{
self.view = GRAPHIC_SYSTEM::GetGlView();
NSLog(@"viewDidLoad");
}
- (void) viewDidUnload
{
NSLog(@"viewDidUnload");
}
- (void) viewWillLoad
{
NSLog(@"viewWillLoad");
}
- (void) viewWillUnload
{
NSLog(@"viewWillUnload");
}
- (void)viewWillAppear: (bool)animated
{
NSLog(@"viewWillAppear");
}
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"viewDidAppear");
}
- (void)viewWillDisappear:(BOOL)animated
{
NSLog(@"viewWillDisappear");
}
- (void)viewDidDisappear:(BOOL)animated
{
NSLog(@"viewDidDisappear");
}
@end
当 TapJoy 通知我某个功能应用可用时,我会使用我的 View Controller 显示它:
[TapjoyConnect showFeaturedAppFullScreenAdWithViewController: [[MyViewController alloc] init]];
TapJoy View 成功显示在我的游戏顶部。
有两个问题:
- 控制台中仅打印 viewDidLoad 日志。没有打印其他日志消息
- 我想知道用户什么时候关闭了 TapJoy View ,所以我可以在那个时候添加一些处理,但是没有调用 View Controller 的其他函数。
我在 SO 上看到一些用户建议使用通知。不幸的是,由于我无法访问 TapJoy SDK 的源代码,我需要找到其他方法。
你有什么想法吗?
提前致谢
迈克
最佳答案
好吧,我可以通过创建自定义 UIView 来解决这个问题,我将其设置为 UIViewController View 。
接下来,我重写了这个自定义 View 的 willRemoveSubview 函数。
通过 UIViewController 的 viewDidLoad 函数,我知道什么时候显示 View ,什么时候移除 TapJoy View ,所以我也可以移除我的自定义 View 。
关于ios - 如何知道 UIViewController 的 subview 何时被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576826/