如何在像 BBC 新闻应用一样的 UIScrollView 中添加“广告”?
Posted
技术标签:
【中文标题】如何在像 BBC 新闻应用一样的 UIScrollView 中添加“广告”?【英文标题】:How to add "advertisements" in the UIScrollView like BBC News app? 【发布时间】:2013-10-14 11:32:56 【问题描述】:我创建了一个新闻应用程序,它使用“UIScrollView + UIWebView”让用户滑动浏览不同的新闻。但是,我想问一下我是否可以添加像 BBC News 应用这样的广告,哪些用户会在水平滚动时看到这些广告。
我在滚动时尝试使用 addSubView (scrollViewDidScroll),但它替换了现有内容。
我意识到 BBC 新闻应用会做这样的事情,
用户滑动浏览新闻 --> 滑动几次后 --> 显示广告(例如在第 5 位) --> 用户再次从头到尾滑动 --> 广告再次出现,但这一次可能处于位置 3)。
但我只是不知道如何使它适用于我的应用程序。有什么线索吗?提前致谢。
【问题讨论】:
我们需要看一些代码。调用addSubview
会将您的子视图放在前面,并将其放在父视图中的 0,0 处。您是否在滚动视图中正确定位广告?
【参考方案1】:
您可能已经拥有一个功能,您将新闻文章数据存储在某个数组中。或者您从数据库中获取数据到某个数组中。
嗯 - 我认为最简单的方法就是在这个新闻数组中添加 advert_data。
例如 - 你从数组中的 db 获取:
NSArray *mArray = @[
"news1",
"news2",
"news3",
"news4",
"news5",
"news6"];
然后你可以简单地 - 遍历它,并添加广告数据。例如
int counter = 0;
while (counter < [mArray count])
int mTmp = 3+(arc4random() % 2); // atleast 3, but up to 5?
counter +=mTmp;
[mArray insertObject:"advert" atIndex:counter];
counter +=1; //we added one object, so we need to adjust counter
然后很简单 - 当您尝试在 webview 中加载相应的数据时,检查内容是否不是“广告”。如果是 - 从某处加载一些随机广告 html。
附:我猜,您的数据数组将有 NSManagedObjects,而不是字符串。然后您可以检查[mArray objectAtIndex:i]
(当您尝试将其加载到 webview 时)- 是 NSManagedObject 还是字符串值。
我希望你能理解这个想法。
【讨论】:
以上是关于如何在像 BBC 新闻应用一样的 UIScrollView 中添加“广告”?的主要内容,如果未能解决你的问题,请参考以下文章