《iOS 6核心开发手册(第4版)》——1.2节秘诀:添加简单的直接操作界面

简介:

本节书摘来自异步社区《iOS 6核心开发手册(第4版)》一书中的第1章,第1.2节秘诀:添加简单的直接操作界面,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 秘诀:添加简单的直接操作界面
iOS 6核心开发手册(第4版)
在处理直接操作时,设计重点将从UIViewController转移到UIView上。视图(或者更确切地说是UIResponder)构成了直接操作开发的核心。通过自定义从UIResponder类派生的方法来创建基于触摸的界面。

秘诀1-1以触摸的实际应用为中心。这个示例创建了UIImageView的一个子类DragView,并给它添加触摸响应性。作为一个图像视图,支持用户交互(也就是说把setUserInteractionEnabled设置为YES)很重要。这个属性会影响该视图的所有子视图以及它本身。大多数视图一般都支持用户交互,但是UIImageView是一个例外,它把大多数初学者都难住了,Apple公司显然不认为人们一般会操作它们。

这个秘诀的工作方式是:更新视图的中心,使之匹配屏幕上的触摸的移动。当用户第一次触摸任何DragView时,对象将存储起始位置,作为距离视图原点的偏移量。当用户拖动时,视图将与手指一起移动——总是维持相同的原点偏移量,使得移动感觉上很自然。移动是通过更新对象的中心而发生的。秘诀1-1在每个触摸移动之后都会计算x和y偏移量,并根据这些偏移量调整视图中心。

一旦触摸,视图就会弹出到前面,这是由于touchesBegan:withEvent:方法中的调用而引发的。代码告诉拥有DragView的父视图把该视图调出到前面。这允许活动的元素总是出现在界面的最前面。

这个秘诀没有实现触摸结束和触摸取消方法。它感兴趣的只是屏幕上的对象的移动。当用户停止与屏幕交互时,类将不会做更多的工作。


c9949b9c37e0c3f47ced5566688c9241fb77b70b
相关文章
|
6月前
|
编解码 安全 Android开发
探索iOS与Android开发的差异:从界面到性能
【6月更文挑战第10天】在移动应用开发的广阔天地中,iOS和Android两大平台各占山头,它们在设计理念、用户体验、性能优化等方面展现出独特的魅力。本文将深入探讨这两大系统在开发过程中的主要差异,从用户界面设计到性能调优,揭示各自背后的技术逻辑与创新策略,为开发者提供全面的视角和实用的开发指南。
|
7月前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
299 1
|
缓存 iOS开发
iOS小技能:解决TableVIew刷新数据带来的界面跳动问题
iOS小技能:解决TableVIew刷新数据带来的界面跳动问题
1721 0
iOS小技能:解决TableVIew刷新数据带来的界面跳动问题
|
缓存 安全 Linux
自建iOS构建流水线建设核心原理剖析
文章主要从iOS打包机远程构建的角度分析,整体链路脚本涉及的shell、ruby、security指令、xml以及iOS工程化相关知识,文章通过一个远程构建流程简单并重点的讲解了如何规避本地打包环境下的小的修改出包存在的大量人工操作,如何动态化配置证书、版本号等信息以及内测分发方式的避坑点。
自建iOS构建流水线建设核心原理剖析
|
iOS开发
ios调用系统应用界面显示如何显示中文
在iOS里面,跳转到系统相簿界面,通讯录界面等后标题显示的英文,关键是手机已经设置显示中文了。
72 0
|
JavaScript API Android开发
Android,iOS打开手机QQ与指定用户聊天界面
Android,iOS打开手机QQ与指定用户聊天界面
228 0
|
Swift iOS开发 容器
iOS 仿支付宝银行卡界面(支持Swift/OC)
在有支付相关的APP中,都有对应的钱包,虽然现在的支付宝,微信支付很流行,但是都是需要绑定自己的银行卡,那么这个银行卡的卡包页面该怎么实现呢?在网上找了许久也没有找到合适的,那就索性自己造轮子。
384 0
|
缓存 编解码 监控
iOS-底层原理 34:界面优化方案
iOS-底层原理 34:界面优化方案
206 0
iOS-底层原理 34:界面优化方案
|
存储 小程序 iOS开发
iOS 小知识: 再次点击tabBar刷新界面数据(更新数据期间旋转tabbar图标)【包含完整demo】
iOS 小知识: 再次点击tabBar刷新界面数据(更新数据期间旋转tabbar图标)【包含完整demo】
541 0
iOS 小知识: 再次点击tabBar刷新界面数据(更新数据期间旋转tabbar图标)【包含完整demo】
|
iOS开发
iOS 封装成功界面
iOS 封装成功界面
147 0
iOS 封装成功界面