我们有一个标签密集的应用程序,它有5个标签可以来回使用。我们有iAds和admobs(作为没有iAd的国家的备份),我们在viewDidLoad中“调用”广告。相反,在viewDidAppear中调用它们会有所不同吗?然后在viewDidDisappear或shomething中删除它们不要搞砸框架等?这会给出更多的印象吗?
答案 0 :(得分:1)
viewDidLoad:
viewDidLoad中 在控制器视图加载到内存后调用。
- (void)viewDidLoad
讨论 在视图控制器将其视图层次结构加载到内存后调用此方法。无论视图层次结构是从nib文件加载还是在loadView方法中以编程方式创建,都会调用此方法。您通常会覆盖此方法以对从nib文件加载的视图执行其他初始化。
viewDidAppear:
viewDidAppear: 通知视图控制器其视图已添加到视图层次结构中。
- (void)viewDidAppear:(BOOL)animated
参数 动画 如果是,则使用动画将视图添加到窗口中。 讨论 您可以覆盖此方法以执行与显示视图相关的其他任务。如果重写此方法,则必须在实现中的某个时刻调用super。
回答
因此viewDidLoad比viewDidAppear稍早调用:唯一的区别是当viewDidAppear:已经绘制了视图时,相反在viewDidLoad中仍然需要绘制视图。
回答你的问题:
在viewDidAppear中调用它们会有所不同吗?
如果调用广告是一个缓慢的操作,那么您将首先看到以其颜色显示的视图,以及几段时间后的广告。但是,这必须太慢才能产生真正的差异。
然后在viewDidDisappear中移除它们或shomething不要搞砸框架等?
它肯定不是“搞砸框架”。
答案 1 :(得分:0)
你只需要在viewDidLoad中调用它
答案 2 :(得分:0)
将您的广告代码放入viewDidAppear :(并在viewDidDisappear中将其删除:)肯定会为您带来更多展示次数,但除非您是列入白名单的酒吧,否则您可能无论如何都会按每次点击费用获得报酬({{ 3}})。
在这种情况下,您不必在选项卡上更改创建和销毁GADBannerView对象的开销,而是创建一个在整个TabbedController中使用的单例GADBannerView(查看示例AdMob Help Center article)。