ios - 如何在 BBC News 应用程序的 UIScrollView 中添加 "advertisements"?

标签 ios objective-c uiwebview uiscrollview

我创建了新闻应用程序,它使用“UIScrollView + UIWebView”让用户滑动浏览不同的新闻。但是,我想请问是否可以像BBC News app一样添加广告,哪些用户会在水平滚动时看到广告。

enter image description here

enter image description here

我试图在滚动时使用 addSubView (scrollViewDidScroll),但它替换了现有内容。

我意识到 BBC 新闻应用会做这样的事情,

用户滑动浏览新闻 --> 滑动几次后 --> 显示广告(例如位置 5) --> 用户再次从头滑动到末尾 --> 广告再次出现,但是这次可能在位置 3)。

但我只是不知道如何让它适用于我的应用程序。有什么线索吗?提前致谢。

最佳答案

您可能已经有了一个功能,您可以将新闻文章数据存储在某个数组中。或者您从数据库获取数据到某个数组中。

嗯 - 我认为最简单的方法就是在这个新闻数组中添加 advert_data。

例如 - 您从数组中的数据库获取:

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 或字符串值。

我希望你能理解这个想法。

关于ios - 如何在 BBC News 应用程序的 UIScrollView 中添加 "advertisements"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19359268/

相关文章:

objective-c - 附加到 NSMutableString 时遇到问题

ios - drawPageAtIndex 在 iOS 8.1.1 中挂起

ios - SBJson - 有内存泄漏吗?

ipad - UIActionSheet cancelButtonTitle iPad

ios - 通过 CoreBluetooth 成功连接 BLE 后,如何以编程方式连接经典蓝牙

滚动时 iPhone UITableView 生涩

ios - 如何检查日期/时间是否在当前日期/时间的 1 分钟内

ios - 安全的 UITextField 文本颜色

ios - 具有 UIWebView 或自定义 View Controller 的 iPad 应用程序

ios - Swift UIWebView 初始缩放比例