摘要:
本节内容篇幅比较长!Core Data 属于 iOS App开发的进阶内容了。下面先使用Core Data实现一个简单的范例ShoppingCart。本范例App不利用框架自动生成代码,完全自己编写所有的 Core data 相关代码,来深入理解 Core Data框架中主要类的使用。使用Xcode的Single View Application模板,创建ShoppingCart项目,类前缀为Cart,如下图所示。添加CoreData Framework框架在ShoppingCart项目创建完成之后,我们需要添加CoreData Framework框架到项目中。详细操作步骤,可以参考-开发定. 阅读全文
摘要:
Core Data是iOS编程中使用持久化数据存储的一种方式。在以前的教程 – 读写应用程序的设置数据,我们已经提供了三种方式来实现App数据的存储,分别为:(1) 用户默认设置 – 这种情况通常不需要用户干预,如游戏通关信息,Video播放记录,或者App退出之后,下次进入时,希望恢复到退出时的情况。(2) 设置束(Settings Bundle)– 提供了一个通过iPhone、iPad的设置(Settings)应用程序进行配置的接口。(3) 直接访问文件系统 – 读写属于当前App的iOS 文件系统部分的文件。在一些情况下,我们可以考试使用Core Data来持久化数据。需要知道的是,C. 阅读全文
摘要:
异常信息:Terminating app due to uncaught exception ‘NSInvalidUnarchiveOperationException’, reason: ‘Could not instantiate class named NSLayoutConstraint‘具体场景:Xcode 4.5 选择iPhone、iPad 5.0/5.1 Simulator(模拟器)解决办法:需要关闭storyboard或xib界面文件的Use Auto Layout 选项,这是因为Auto Layout特性是iOS 6 新增加的,在之前的 5.0/5.1 Simulator模. 阅读全文
摘要:
分割视图控制器(UISplitViewController)仅适用于iPad,可以在一个iPad屏幕中显示2个不同的场景。在横向模式下,屏幕左边的三分之一为主视图控制器的场景,而右边则包含向详细视图控制器场景。在纵向模式下,UISplitViewController隐藏主视图控制器的场景,详细视图控制器管理的场景占住整个屏幕,但可以通过Popover(弹出菜单)访问主视图场景。Popover是在当前视图之上的一个弹出窗口,在分割视图控制器中,一般可以通过详细视图中工具条(toolbar)按钮来访问或触发。在iPad返回横向模式时,主视图场景和详细视图场景重新回到并排显示,且Popover的访. 阅读全文
摘要:
在iOS App开发过程中,在UIImage中加载来自URL的图像,可以通过如下的Objective-C代码来实现,下面是表视图中加载图像的一段代码:NSDictionary *object = _objects[indexPath.row];cell.textLabel.text = [object objectForKey:@"ProductName"];cell.detailTextLabel.text = [[object objectForKey:@"CurrentPrice"] description];NSString *myURL = [ 阅读全文
摘要:
默认Xcode 中的iPhone、iPad 模拟器都是黑色的背景图,无法像正常的iPhone 一样设置其主屏幕和锁定屏幕的图像,但可以按照下面的操作来实现(在模拟器显示的情况下,按住Command + L 键,可以显示锁定屏幕):1. 从Finder 中拖放一个图像文件从模拟器界面;2. 默认的Safari浏览器会打开,点击并按住图像文件;3. 在弹出菜单中,选择 — 存储图像;4. 返回模拟器中的–照片App,打开该App,选择你喜欢的图像文件;5. 按照在iPhone/iPad 设备上的操作,设置图像文件为主屏幕和锁定屏幕的背景图;锁定屏幕界面: 阅读全文
摘要:
图标是iOS程序包所必需的组成部分。如果没有提供程序所需的各种尺寸的图标,程序上传发布时可能会无法通过验证。iOS程序为兼顾不同的应用场景,定义了多个不同规格的图标,并以不同的命名区分。在将图标文件或者启动图像文件拖放到Xcode的图像区域时,该图像文件将自动复杂到项目文件夹中,并出现在项目导航栏中。我们可以将这些文件拖放到项目的Supporting Files 中。选择导航栏区域顶部的项目名称,在项目的Summary 窗口进行操作。将图标文件和启动图像文件拖放到Support Files 文件夹下。关于在iPhone、iPad的App中添加启动图像文件,可以参考我们之前的教程 -如何在iO. 阅读全文
摘要:
使用Xcode提供的Universal选项,可以创建通用应用程序。通用应用程序有两个storyboard文件,这点在之前的范例App都没有创建过。针对不同的设备,创建的两个storyboard文件分别为:MainStoryboard_iPhone.storyboard和MainStoryboard_iPad.storyboard。可以使用Xcode中的Single View Application 模板创建一个简单的、通用的App。项目名称为UniversalApp,类前缀为Uni。生成的Xcode项目文件中,我们发现有2个Storyboard文件。具体而言,有2种方法来实现通用应用程序。第. 阅读全文
摘要:
在iOS 5 编程-工具栏UIToolbar和日期选择器UIDatePicker的应用中,演示了UIDatePicker 日期选择器的使用。这里将创建一个自定义的选择器视图,提供的范例App在iPad 模拟器中运行,iPhone的版本稍有差异。iPad 采用popover 弹出式视图,iPhone 版本采用模态视图,这个符合Apple的UI设计规范(Apple要求必须在弹出框中显示选择器)。范例App的运行界面如下所示(iPad模拟器):要实现自定义选择器视图,必须实现类遵守选择器委托协议(UIPickerViewDelegate)和选择器数据源协议(UIPickerViewDataSour. 阅读全文
摘要:
选项卡栏控制器(UITabBarController)-用户触摸不同的选项卡,应用程序在不同的场景间切换,每一个场景都呈现了App的一项功能。选项卡栏控制器(UITabBarController)管理的场景必须包含一个选项卡栏项(UITabBarItem),它包含标题、图像和徽章(包含数字的红圈)。App运行图中有展示。范例App运行界面如下图所示:如下修改选项卡栏按钮属性?要修改选项卡栏按钮,必须在相应的场景中进行,而不能在选项卡栏控制器场景中进行修改。选择场景视图中的选项卡栏项(UITabBarItem),然后在Attributes Inspector窗口,维护相应的属性。可以自定义图像. 阅读全文