如何在UBCcrollView中添加“广告”,如BBC新闻应用程序?

时间:2013-10-14 11:32:56

标签: ios objective-c uiwebview uiscrollview

我创建了使用" UIScrollView + UIWebView"的新闻应用程序。让用户轻扫不同的新闻。但是,我想问一下,我是否可以添加BBC新闻应用等广告,用户在横向滚动时会看到广告。

enter image description here

enter image description here

我在滚动时尝试使用addSubView(scrollViewDidScroll),但它取代了现有内容。

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

用户轻扫新闻 - >刷了几次后 - >显示广告(例如,位置5) - >用户从头到尾再次滑动 - >广告再次出现,但这次可能位于第3位。

但我不知道如何让它适用于我的应用。任何线索?提前谢谢。

1 个答案:

答案 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。

P.S。我猜,你的数据数组将有NSManagedObjects,而不是字符串。然后您可以检查[mArray objectAtIndex:i](当您尝试将其加载到webview中时) - 是NSManagedObject还是字符串值。

我希望你理解这个想法。