《iPhone与iPad开发实战—iOS经典应用剖析》连载三

简介: 3.3     应用实战与讲解<br> 这一节我们将实际编写这个应用,边做边讲解的方式。按照搭建应用骨架、视图翻转动画、主视图UI和代码、主视图控制器代码、背后视图UI和代码、背后视图控制器,这样的顺序编写和讲解。<br> 3.3.1     构建应用骨架<br> 在本书采用Xcode3.2工具中提供了一个编写实用型应用程序的模板,图3-11是Xcode3.2的模板,其中Utilit
3.3     应用实战与讲解
这一节我们将实际编写这个应用,边做边讲解的方式。按照搭建应用骨架、视图翻转动画、主视图UI和代码、主视图控制器代码、背后视图UI和代码、背后视图控制器,这样的顺序编写和讲解。
3.3.1     构建应用骨架
在本书采用Xcode3.2工具中提供了一个编写实用型应用程序的模板,图3-11是Xcode3.2的模板,其中Utility Application选项就是创建实用型应用程序。
  

图3-11 实用型应用模板

但是遗憾的是本应用的原作者代码,没有采用Xcode3.2模板,我们比较一下它们的不同,使用Xcode3.2生成的类图如图3-12所示。
  

图3-12  Xcode3.2生成的类
    为了尊重原作者,在本书中如果涉及到由于历史版本引起的问题,我们还是按照原作者应用始版本介绍和构建应用。
比较类图3-8和3-12会发现,Xcode3.2没有MainView 和FlipsideView两个自定义视图类,而是直接采用UIView类,Xcode3.2中MainViewController类还实现了一个FlipsideViewControllerDelegate协议,FlipsideViewControllerDelegate协议是旧版本中没有的,而Xcode3.2中没有RootViewController控制器类。这正是两个版本区别的关键,在旧版本中视图跳转和返回都是通过根控制器RootViewController实现控制的,在Xcode3.2中是通过MainViewController实现FlipsideViewControllerDelegate协议视图翻转控制的,MainViewController即使主视图控制器也是根控制器。
由于我们要构建与旧版本一样的类,所以要添加MainView、FlipsideView和RootViewController类。先创建MainView选择Main View文件夹,右键菜单New File弹出对话框如图3-13所示,选择Objective-C class,Subclass of为UIView,选择好后点击Next,在类名中输入MainView。
  

图3-13 创建UIVew
MainView生成之后还需要修改对应的nib文件,在Xcode中双击MainView.xib然后Interface Builder会打开MainView.xib窗口如图3-14所示,



图3-14 MainView.xib窗口
从图3-14中可以看到View的类型是UIView,我们需要把它改成为MainView,为了实现这一个目的,请选择菜单Tools->Inspector打开检查器窗口,选择 标签打开检查器如图3-15所示,选择MainView类。
  

图3-15视图检查器
选中双击Main View打开设计窗口如图3-16所示,该视图是使用Xcode3.2工具生成的,我们需要恢复到默认视图状态,如图3-17所示。
        

图3-16 Xcode3.2模板生成视图                             图3-17 修改后视图
为了达到这一效果需要删除 按钮,并把视图背景修改颜色为默认颜色。删除 按钮过程是用鼠标点中该按钮,使用键盘delete就可以删除了,而视图背景修改需要打开检查器窗口选择标签 后如图3-18,修改Background属性使背景颜色被默认白色。

  

图3-18 修改视图背景
按照上面的方法创建FlipsideView类,该类创建完成需要修改它对应的FlipsideView.xib文件,在Interface Builder会打开FlipsideView.xib窗口,选中双击Flipside View打开设计窗口如图3-19所示,该视图是使用Xcode3.2工具生成的,我们需要恢复到默认视图状态,如图3-20所示。
          

              图3-19 Xcode3.2模板生成视图                                图3-20 修改后视图
为达到图3-20效果,需要删除Title部分导航栏,在本应用中导航栏是通过代码动态添加到视图上面去的,而不是在视图设计窗口中拖拽上去的。删除导航栏和修完成背景后我们会发现视图变成如图3-21所示带有状态栏。
  

图3-21 状态栏视图
我们需要去掉这个状态栏,打开视图检查器如图3-22所示,将Status Bar选择为Unspecified。
  

图3-22 视图检查器
并配置它们的创建过程完全一样这里就不再过多介绍了。下面介绍RootViewController创建和配置,选择一个文件夹,右键菜单New File弹出对话框如图3-23所示,选择UIViewController subclass,并在Options部分去掉With XIB for user interface,就是不创建nib文件。选择好后点击Next,在类名中输入RootViewController。
  

图3-23 创建视图控制器
RootViewController生成之后还需要修改MainWindow.xib文件,在Xcode中双击MainWindow.xib然后Interface Builder会打开MainWindow.xib窗口如图3-24所示。点中MainViewController后选择菜单Tools->Inspector打开检查器窗口,选择  标签打开检查器窗口在Class中选择RootViewController类。



图3-24 MainWindow.xib窗口
目录
相关文章
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
1188 4
|
编解码 测试技术 开发工具
测试 iPhone 应用在不同屏幕尺寸和分辨率下的响应式效果
【10月更文挑战第23天】测试 iPhone 应用在不同屏幕尺寸和分辨率下的响应式效果是确保应用质量和用户体验的重要环节。通过手动测试、自动化测试、视觉效果评估、性能测试、用户体验测试等多种方法的综合运用,能够全面地发现应用在响应式效果方面存在的问题,并及时进行解决和优化。同时,持续的测试和优化也是不断提升应用质量和用户满意度的关键。
|
设计模式 安全 Swift
探索iOS开发:打造你的第一个天气应用
【9月更文挑战第36天】在这篇文章中,我们将一起踏上iOS开发的旅程,从零开始构建一个简单的天气应用。文章将通过通俗易懂的语言,引导你理解iOS开发的基本概念,掌握Swift语言的核心语法,并逐步实现一个具有实际功能的天气应用。我们将遵循“学中做,做中学”的原则,让理论知识和实践操作紧密结合,确保学习过程既高效又有趣。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往iOS开发世界的大门。
|
搜索推荐 IDE API
打造个性化天气应用:iOS开发之旅
【9月更文挑战第35天】在这篇文章中,我们将一起踏上iOS开发的旅程,通过创建一个个性化的天气应用来探索Swift编程语言的魅力和iOS平台的强大功能。无论你是编程新手还是希望扩展你的技能集,这个项目都将为你提供实战经验,帮助你理解从构思到实现一个应用的全过程。让我们开始吧,构建你自己的天气应用,探索更多可能!
233 1
|
8月前
|
iOS开发 开发者 Windows
uniapp云打包ios应用证书的获取方法,生成指南
打包用到的一共两个文件,一个是p12格式的私钥证书,一个是证书profile文件。其中生成p12证书的时候,按照官网的教程,是需要MAC电脑来协助做的,主要是生成一些csr文件和导出p12证书等。其实这些步骤也可以借助一些其他的工具来实现,不一定使用mac电脑,用windows电脑也可以创建。
1124 0
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
303 2
|
JSON 前端开发 API
探索iOS开发之旅:打造你的第一个天气应用
【10月更文挑战第36天】在这篇文章中,我们将踏上一段激动人心的旅程,一起构建属于我们自己的iOS天气应用。通过这个实战项目,你将学习到如何从零开始搭建一个iOS应用,掌握基本的用户界面设计、网络请求处理以及数据解析等核心技能。无论你是编程新手还是希望扩展你的iOS开发技能,这个项目都将为你提供宝贵的实践经验。准备好了吗?让我们开始吧!
|
开发框架 Android开发 iOS开发
探索安卓与iOS开发的差异:构建未来应用的指南
在移动应用开发的广阔天地中,安卓与iOS两大平台各占半壁江山。本文将深入浅出地对比这两大操作系统的开发环境、工具和用户体验设计,揭示它们在编程语言、开发工具以及市场定位上的根本差异。我们将从开发者的视角出发,逐步剖析如何根据项目需求和目标受众选择适合的平台,同时探讨跨平台开发框架的利与弊,为那些立志于打造下一个热门应用的开发者提供一份实用的指南。
214 32
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
253 1
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
216 5
下一篇
oss云网关配置