具体描述
If you’re grounded in the basics of Objective-C and Xcode, this practical guide takes you through the components you need for building your own iOS apps. With examples from real apps and programming situations, you’ll learn how to create views, manipulate view controllers, and use iOS frameworks for adding features such as audio and video.
Learn how to create, arrange, draw, layer, and animate views—and make them respond to touch
Use view controllers to manage multiple screens of material in a way that’s understandable to users
Explore UIKit interface widgets in-depth, such as scroll views, table views, text, web views, and controls
Delve into Cocoa frameworks for sensors, maps, location, sound, and video
Access user libraries: music, photos, address book, and calendar
Examine additional topics including files, threading, and networking
New iOS 7 topics covered include asset catalogs, snapshots, template images, keyframe and spring view animation, motion effects, tint color, fullscreen views and bar underlapping, background downloading and app refresh, Text Kit, Dynamic Type, speech synthesis, and many others. Example projects are available on GitHub.
Want to brush up on the basics? Pick up iOS 7 Programming Fundamentals to learn about Objective-C, Xcode, and Cocoa language features such as notifications, delegation, memory management, and key-value coding. Together with Programming iOS 7, you’ll gain a solid, rigorous, and practical understanding of iOS 7 development.
作者简介
Matt Neuburg
Matt Neuburg started programming computers in 1968, when he was 14 years old, as a member of a literally underground high school club, which met once a week to do timesharing on a bank of PDP-10s by way of primitive teletype machines. He also occasionally used Princeton University's IBM-360/67, but gave it up in frustration when one day he dropped his punch cards. He majored in Greek at Swarthmore College, and received his Ph.D. from Cornell University in 1981, writing his doctoral dissertation (about Aeschylus) on a mainframe. He proceeded to teach Classical languages, literature, and culture at many well-known institutions of higher learning, most of which now disavow knowledge of his existence, and to publish numerous scholarly articles unlikely to interest anyone. Meanwhile he obtained an Apple IIc and became hopelessly hooked on computers again, migrating to a Macintosh in 1990. He wrote some educational and utility freeware, became an early regular contributor to the online journal TidBITS, and in 1995 left academe to edit MacTech Magazine. He is also the author of Frontier: The Definitive Guide and REALbasic: The Definitive Guide. In August 1996 he became a freelancer, which means he has been looking for work ever since. He is the author of Frontier: The Definitive Guide and REALbasic: The Definitive Guide, both for O'Reilly & Associates.
View Matt Neuburg's full profile page.
目录信息
Chapter 1 Views
The Window
Experimenting With Views
Subview and Superview
Visibility and Opacity
Frame
Bounds and Center
Transform
Layout
Chapter 2 Drawing
UIImage and UIImageView
Graphics Contexts
UIImage Drawing
CGImage Drawing
Snapshots
CIFilter and CIImage
Drawing a UIView
Graphics Context Settings
Paths and Shapes
Clipping
Gradients
Colors and Patterns
Graphics Context Transforms
Shadows
Erasing
Points and Pixels
Content Mode
Chapter 3 Layers
View and Layer
Layers and Sublayers
Drawing in a Layer
Transforms
Shadows, Borders, and Masks
Layer Efficiency
Layers and Key–Value Coding
Chapter 4 Animation
Drawing, Animation, and Threading
UIImageView and UIImage Animation
View Animation
Implicit Layer Animation
Core Animation
Actions
Emitter Layers
CIFilter Transitions
UIKit Dynamics
Motion Effects
Animation and Autolayout
Chapter 5 Touches
Touch Events and Views
Receiving Touches
Restricting Touches
Interpreting Touches
Gesture Recognizers
Touch Delivery
Interface
Chapter 6 View Controllers
View Controller Responsibilities
View Controller Hierarchy
View Controller Creation
How a View Controller Gets Its View
View Resizing and the Status Bar
Rotation
Presented View Controller
Tab Bar Controllers
Navigation Controllers
Custom Transition Animations
Page View Controller
Container View Controllers
Storyboards
View Controller Lifetime Events
View Controller Memory Management
State Restoration
Chapter 7 Scroll Views
Creating a Scroll View in Code
Using a Content View
Scroll View in a Nib
Scrolling
Zooming
Scroll View Delegate
Scroll View Touches
Floating Scroll View Subviews
Scroll View Performance
Chapter 8 Table Views and Collection Views
Table View Cells
Table View Data
Table View Cell Selection
Table View Scrolling and Layout
Table View State Restoration
Table View Searching
Table View Editing
Table View Menus
Collection Views
Chapter 9 Popovers and Split Views
Preparing a Popover
Summoning and Dismissing a Popover
Popovers and Presented Views
Automatic Popovers
Split Views
Chapter 10 Text
Fonts
Attributed Strings
Labels
Text Fields
Text Views
Text Kit
Chapter 11 Web Views
Web View Content
Paginated Web Views
Web View State Restoration
Communicating with a Web View
Chapter 12 Controls and Other Views
UIActivityIndicatorView
UIProgressView
UIPickerView
UISearchBar
UIControl
Bars
Tint Color
Appearance Proxy
Chapter 13 Modal Dialogs
Alert View
Action Sheet
Dialog Alternatives
Local Notifications
Activity View
Some Frameworks
Chapter 14 Audio
System Sounds
Audio Session
Audio Player
Remote Control of Your Sound
Playing Sound in the Background
Further Topics in Sound
Chapter 15 Video
MPMoviePlayerController
MPMoviePlayerViewController
UIVideoEditorController
Introduction to AV Foundation
Chapter 16 Music Library
Exploring the Music Library
Music Player
MPVolumeView
Playing Songs With AV Foundation
Music Picker
Chapter 17 Photo Library and Image Capture
Choosing From the Photo Library
Assets Library Framework
Using the Camera
Customizing the Image Capture Interface
Image Capture With AV Foundation
Chapter 18 Address Book
Address Book Database
Address Book Interface
Chapter 19 Calendar
Calendar Database
Calendar Interface
Chapter 20 Mail and Messages
Mail Message
Text Message
Twitter Post
Chapter 21 Maps
Displaying a Map
Annotations
Overlays
Map Kit and Current Location
Communicating With the Maps App
Geocoding, Searching, and Directions
Chapter 22 Sensors
Core Location
Acceleration and Attitude
Final Topics
Chapter 23 Persistent Storage
The Sandbox
Basic File Operations
Saving and Reading Files
User Defaults
File Sharing
Document Types
Handing Off a Document
Document Architecture
iCloud
XML
SQLite
Core Data
Image File Formats
Chapter 24 Basic Networking
HTTP Requests
Background App Refresh
In-App Purchases
Bonjour
Chapter 25 Threads
Main Thread
Why Threading Is Hard
Three Ways of Threading
Threads and App Backgrounding
Chapter 26 Undo
Undo Manager
Undo Interface
Appendix Application Lifetime Events
Index
Colophon
· · · · · · (收起)
读后感
用户评价
关于深度和广度的平衡把握,这本书做得近乎完美。它既没有浅尝辄止地停留在表面API调用上,也没有陷入那种只有极少数人才能理解的底层汇编细节中。它精准地定位在了“专业开发者所需”的那个甜蜜点上。在讲解诸如 Core Data 这样的复杂框架时,作者不仅展示了标准用法,还深入探讨了性能优化的技巧和常见的设计模式选择,比如何时应该使用异步操作队列来避免UI卡顿。这种对“为什么”和“如何做得更好”的探讨,显示了作者深厚的行业积累。读完之后,我感觉自己获得的不仅仅是一堆API的调用手册,更是一套解决实际问题的工程化思维框架,这对于我未来独立负责App开发项目,无疑是至关重要的财富,是真正能帮助人从“会写代码”蜕变成“能设计产品”的指导书。
这本书的章节组织逻辑简直是教科书级别的顺畅。它并没有上来就抛出一大堆晦涩难懂的概念,而是像一位经验丰富的导师,循序渐进地引导你进入 iOS 开发的世界。我记得刚开始那几章,讲解的是 Swift 语言的基础语法和面向对象设计,作者用了很多生活化的比喻来解释那些抽象的编程概念,比如类和实例的区别,用构建积木或者制作饼干的过程来打比方,让我这个之前对编程有点畏惧的人,一下子就找到了切入点,感觉“原来编程也没那么难嘛”。随着章节的深入,它开始过渡到具体的 UI 布局和数据持久化,每一步的衔接都非常自然,你不会觉得知识点之间有生硬的跳跃。这种精心设计的学习路径,极大地降低了初学者的学习曲线,让人感觉每翻过一页,自己的能力就在稳步提升,而不是原地打转,这对于保持学习的热情至关重要。
最让我印象深刻的是书中对“实践”的强调。很多技术书籍都会给出大量的理论讲解,但一旦要动手操作,就会发现理论和实际操作之间存在巨大的鸿沟。然而,这本书在每介绍完一个核心概念之后,紧接着就会提供一个非常贴合实际的、可以立即编译运行的示例项目。这些项目都不是那种孤立的、为了演示而演示的“Hello World”级别的小程序,而是模拟了真实应用场景的模块,比如如何实现一个带下拉刷新的列表,或者如何安全地进行网络数据请求。作者会详细解释代码的每一部分是如何协同工作的,以及在实际开发中可能会遇到的陷阱。通过跟随这些实践案例一步步操作下来,我感觉自己不仅仅是在“看”代码,而是在“写”代码,这种动手能力的培养,远比单纯阅读文字描述来得有效得多,它真正帮助我建立了将理论转化为可行产品的能力。
天哪,这本书的排版和装帧简直让人眼前一亮!拿到手上就感觉沉甸甸的,纸张的质感非常好,那种光滑又带着一丝哑光的触感,翻页的时候都能听到轻微的“沙沙”声,让人立刻有了沉浸到代码世界里的感觉。而且,封面设计非常简洁大气,那种蓝白相间的配色,既有科技感又不失专业范儿,放在书架上绝对是赏心悦目的一道风景线。我尤其欣赏它的字体选择,无论是正文的注释还是代码示例,都选用了清晰易读的字体,行距和字间距的把控拿捏得恰到好处,即便是长时间盯着屏幕和书本切换阅读,眼睛也不会感到特别疲劳。要知道,对于一本技术书籍来说,阅读的舒适度直接决定了学习的效率,这一点,这本书做得非常到位,完全不像有些技术书,为了塞进更多的内容而牺牲了读者的体验,这本书显然是把用户体验放在了很高的位置上,从拿到书的那一刻起,我就对接下来的学习内容充满了期待,这种对细节的关注,往往预示着内容本身的深度和质量。
这本书的语言风格真是让人耳目一新,它完全没有传统技术文档那种死板、干瘪的味道。作者的笔触幽默风趣,偶尔还会夹杂一些只有资深开发者才能心领神会的“梗”,读起来非常放松。比如,在解释某个复杂的内存管理机制时,他用了个很形象的比喻,把内存比作一个拥挤的派对现场,对象就是受邀的客人,ARC(自动引用计数)就是那个尽职尽责的保安,时刻关注着谁该离开。这种拟人化的描述,让原本枯燥的技术点变得生动起来,甚至让人在学习的时候会心一笑。正是这种亲切自然的交流感,让技术学习不再是一件苦差事,而更像是一次与一位博学朋友的深入探讨,极大地提升了我持续阅读下去的动力,让我愿意主动去探索那些原本可能略过的深层细节。