0

我尝试将 TapforTap 广告添加到我的 iPhone 应用程序中,广告出现,但我在控制台中显示此消息“不平衡调用开始/结束外观转换。” 在任何页面导航然后应用程序崩溃之后,调用 TapForTap 广告的以下代码。我该如何解决这个问题?

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGFloat y = self.view.frame.size.height - 50.0;

    TapForTapAdView *adView = [[TapForTapAdView alloc] initWithFrame: CGRectMake(0, y, 320, 50) delegate: self];
    [self.view addSubview: adView];

    [TapForTapAppWall prepare];
    [TapForTapAppWall showWithRootViewController: self]; // or possibly self.navigationController
}

多谢

4

1 回答 1

1

我不确定。但是试试这个:

- (void) ShowTapAd {

    CGFloat y = self.view.frame.size.height - 50.0;

    TapForTapAdView *adView = [[TapForTapAdView alloc] initWithFrame: CGRectMake(0, y, 320, 50) delegate: self];
    [self.view addSubview: adView];

    [TapForTapAppWall prepare];
    [TapForTapAppWall showWithRootViewController: self]; // or possibly self.navigationController

}

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self performSelectorOnMainThread:@selector(showTapAd) withObject:nil waitUntilDone:NO];
}

当您使用两个(或更多)segue、Navigation Controller 推送或呈现模态类型的进程时,会出现运行时警告。这意味着当您在前者完全完成之前启动一个。

我很惊讶当你在 viewDidLoad 中调用某些东西时会发生这些事情。因此,您可能会发现根本原因不在您显示的代码片段中。但如果是这样,那么这可以解决问题。

它的作用:它只是确保在 viewDidLoad 正确完成后执行您的广告视图设置。由于 viewDidLoad 像所有与 UI 相关的东西所做的(或应该做的)一样在主踏板上运行,因此到那时应该完成当前的外观转换。

希望这可以帮助。同样,这只是一个猜测。

于 2013-03-28T13:56:26.180 回答