读书人

怎么编写iOS5杂志程序(2)

发布时间: 2013-04-09 16:45:09 作者: rapoo

如何编写iOS5杂志程序(2)

原文:http://ios-blog.co.uk/tutorials/how-to-make-a-magazine-app-in-ios-part-ii/

改变

教程第一部分介绍了许多东西。 抱歉我又迟到了,在写本文的同时我关注了iOS5的新特性,但由于NDA的缘故我不得泄露任何关于新SDK的内容。最终的例子同时提供了对iOS4和iOS5 的支持。

我不会过多讲解Newsstand,归根结底我们将创建一个杂志应用程序,newsstand的实现细节与此无关。在我的博客我写了俩个教程,你可以阅读它们(这里以及这里),它们已经包括了newsstand的方方面面。简单而言,newsstand在ipad和iPhone上采用全新的方式来展现杂志,原来的图标代以杂志(或报刊)的封面,然后所有的newsstand图标被放在了一起。对于开发者,newsstand包含了一个Newsstand Kit框架,包括内容的下载、安装及组织方式。

示例程序

下图显示了程序的部分截图。9个杂志、9个水果味的封面。你可以下载、通过进度条查看下载进度、然后阅读杂志。另外一张图显示了Newsstand。在Nesstand组中,原本的应用程序图标被杂志封面图标所替代。但在iOS4的iPad中,程序仍然显示的是应用程序图标。

怎么编写iOS5杂志程序(2)

程序代码放在了这里: GitHub。不要将这些代码用于生产,除非你经过大量测试。但在真正的开发中可以用它来作为一个不错的起点。实际上,在第1部分我们已经解释过这些代码的主要结构;我建议你在阅读本章前先阅读第一部分内容,以更好地理解程序的主要组成。接下来讨论的过程中,要始终将期刊管理(控制器,而不是视图控制器)与UI尽可能分离。理论上,“书店管理器”和“期刊模型”也能在Mac下重用,因为它们与UI是非常“松耦合”的。

我用“单窗口模板”创建这个程序。在application:didFinishLaunchingWithOptions方法中,加入2个主要组件:

-(BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 创建 "Store" 实例
_store = [[Store alloc] init];
[_store startup];

self.shelf = [[[ShelfViewController alloc] initWithNibName:nilbundle:nil] autorelease];
_shelf.store=_store;

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreenmainScreen] bounds]] autorelease];
self.window.rootViewController = _shelf;
[self.window makeKeyAndVisible];
return YES;
}

这两个组件分别是:

读书人网 >操作系统

热点推荐