ios - 如何知道 UIViewController 的 subview 何时被删除?

标签 ios uiview uiviewcontroller

我正在为 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 成功显示在我的游戏顶部。

有两个问题:

  1. 控制台中仅打印 viewDidLoad 日志。没有打印其他日志消息
  2. 我想知道用户什么时候关闭了 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/

相关文章:

iphone - iOS 上的蓝牙连接 - 建立连接时应用程序崩溃

ios - TestFlight ItunesConnect 导出合规性信息在按下“开始内部测试”按钮时弹出不隐藏

ios - APNS 从多个服务器发送通知

objective-c - 防止将 UIButton 拖到其 UIView 之外

ios - 为 UIView 的 bounds 属性设置动画

ios - UITapGestureRecognizer 静态方法崩溃

cocoa - 将一个 UIView 的绘制内容复制到另一个 UIView

ios - 以编程方式创建的后退按钮没有箭头

ios - 警告 : Attempt to present vc whose view is not in the window hierarchy

swift - 创建对象时的 ViewController 类