iOS 4层结构(iOS技术概要)—— Cocoa Touch 层(一)

2023-10-30

        苹果公司的iOS平台强力推动了iOS开发,引来了不少人从事iOS开发,也成就了一批一批的开发者,如果你是新手,请把本文作为iOS技术一览,便于你对iOS开发有个粗略的认识;如果你已经是iOS开发者,建议你收藏本文,它是你日常开发的指导工具,为你程序开发提供技术资料。

     本文主要介绍:iOS 4层结构中每层结构的特性以及功能、每层结构包含的iOS开发框架。本文是在iOS7即将推出之际撰写的,包含了iOS7之前的全部iOS特性。以下是正文部分:

Cocoa Touch层

cocoa touch 层包含了构建iOS应用程序的核心框架,

一、cocoa touch层关键特性

1、Auto Layout(iOS6)允许你定义用户界面的布局规则。------ Cocoa Auto Layout Guide

2、storyboard(iOS5)取代nib的新的设计用户界面的工具。将不同的view和controller集成到一个界面中管理,它能定义segue,从一个controller过渡到另外一个controller。-------Xcode User Guide(UIStoryboard Class Reference)

3、document support(iOS5)提供了UIDocument类来管理用户文档中的数据。------Document-Based AppProgramming Guide for iOS

4、Multitasking(iOS4)后台运行以便快速恢复,能更加省电。正常情况下 程序在后台是暂停的,但是有些情况允许程序继续运行在后台里。

(1)应用程序可以申请一个有限的时间去执行重要的任务

(2)后台运行特定服务

(3)本地通知

------iOS App ProgrammingGuide

5、printing(iOS4.2)无线打印------Printing      Drawing and Printing Guide for iOS

6、UI state preservation(iOS6)UI状态保存------iOS App ProgrammingGuide

7、Apple Push NotificationService(iOS3)推送通知------Local and Push Notification Programming Guide

8、Local Notifications(iOS4)本地通知------Local and PushNotification Programming Guide

9、Gesture Recognizers(iOS3.2)手势识别器(六个子类:轻拍、捏合、平移、轻扫、旋转、长按)-------Event Handing Guide foriOS

10、peer-to-peer services(iOS3)对等服务   GameKit框架提供的通过蓝牙连接的对等服务-------Game Center ProgrammingGuide

11、Standard System ViewControllers 标准的系统视图控制器

(1)显示和编辑联系人信息的 Address Book UI framework

(2)创建和编辑日历事件的 Event Kit UI framework

(3)处理邮件和短信的Message UI framework

(4)打开或预览文件内容的UIDocumentInteractionController

(5)拍摄和裁剪音视频的UIImagePickerController

------View ControllerProgramming Guide for iOS      View Controller Catalog for iOS

12、External Display Support(iOS3.2)外接显示器支持---------View ProgrammingGuide for iOS

 

二、cocoa touch层框架

1、Address Book UI framework:OC接口,提供创建新联系人、编辑以及选择已存在联系人。-------Address BookProgramming Guide for iOS    Address Book UI Framework Reference foriOS

2、Event Kit UI framework(iOS4):展示以及编辑日历相关的事件 标准系统控件。------Event Kit UI Framework Reference

3、Game Kit framework(iOS3):允许你的程序添加点对点的网络,提供点对点连接以及游戏内语音。尽管这些特性多见于多人玩的网络游戏里,你同样可以把它们加入到你的应用程序中。iOS4.1之后,添加了新内容:(1)用户可以创建别名(2)排行榜(3)安排比赛(4)允许你记录player在你游戏里的进度(5)发起挑战(iOS6之后)(6)支持回合制游戏-------Game Center ProgrammingGuide    Game Kit Framework Reference

4、iAd framework(iOS4):允许应用程序发布 横幅 广告。可以将广告放入标准视图中,视图本身基于苹果广告的服务自动管理加载、呈现以及响应点击。-------iAd Programming Guide     iAd Framework Reference

5、Map Kit framework(iOS3):提供可以滑动的地图视图,可以使用地图提供方向或者显示自己感兴趣的点,同样可以添加标注(自定义图片或者内容),iOS4之后,mapview添加了拖拽注解以及自定义浮层(比如加乘车路线),iOS6之后,你可以创建寻路程序,当用户请求公交有关的方向,地图应用程序允许用户自己程序获取路线,除此之外,所有的应用都可以调用地图程序显示POI信息-------Location AwarenessProgramming Guide   Map Kit Framework Reference

6、Message UI framework(iOS3):提供标准短信和邮件界面,而且可以预置字段信息。-------Message UI FrameworkReference

7、Twitter framework:iOS6后 Twitter framework被Social framework替代,提供了UI以及URL访问twitter服务。在iOS5里,你可以使用Twitter framework生成twitter请求以及发送信息。------Social Framework      Twitter Framework Reference

8、UIKit framework:iOS最基础的框架,包含了图形、事件等。

(1)应用程序管理

(2)用户界面管理,包括支持storyboard以及nib文件

(3)图形和窗口支持,支持多显示

(4)支持多任务

(5)支持打印

(6)支持自定义控件外观(iOS5)

(7)支持控制器包含其他控制器内容(iOS5)

(8)触摸以及晃动事件处理

(9)提供标准视图和控件

(10)支持文本和网页内容

(11)剪切、复制和粘贴

(12)动画

(13)访问其他应用程序

(14)残疾人士的辅助功能

(15)远程通知

(16)本地通知

(17)PDF创建

(18)支持自定义输入view取代系统键盘

(19)支持键盘上方添加视图

(20)支持多种分享:email,twitter、Facebook以及其他服务

(21)加速计

(22)照相机

(23)相册

(24)设备信息获取

(25)电池状态

(26)接近传感器

(27)远程控制

-----UIKit Framework Reference

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 4层结构(iOS技术概要)—— Cocoa Touch 层(一) 的相关文章

  • iOS 4层结构(iOS技术概要)—— Media 层(二)

    Media层 媒体层提供了图形 音频和视频技术支持 以达到移动设备上极佳的多媒体体验 一 图形技术 高品质图形是iOS应用程序非常重要的一部分 最简单 和最有效 的方法来创建一个应用程序是使用预渲染图片与UI标准控件结合实现系统绘制 然而
  • iOS编程中——id数据类型

    iOS编程中经常见到的 id 数据类型 id类型声明没有 号 是动态数据类型 可以指向任何类的对象 而不关心具体类型 编译阶段不做类型检查 运行阶段检查具体类型 优点 灵活 可以指向任何数据类型 编译阶段不指向任何类型 缺点 可读性不高 编
  • OC使用cocoapods导入swift库注意

    首先就是在 targets gt Build Setting gt Packaging 中设置 Defines Module为YES 然后创建swift文件时会生成 文件名 Bridging Header h 这样一个桥接文件 怎样使用co
  • ios-常见的命令行工具

    pwd 查看当前目录 cat 在命令行中查看文件 ls 查看文件 ls l 就是以列表的形式展开 touch 创建文件 open 打开文件 more 分页查看文件内容 f是下一页 b是上一页 当你命令行有很多东西你写错了的时候不想去一一删除
  • 地球坐标,火星坐标,百度坐标转换

    标准地球坐标即GPS设备获得的坐标 该坐标需要经过国家测绘局进行加密后形成火星坐标 WGS 84 我们用的google坐标和高德地图坐标也就是火星坐标 百度地图 在火星坐标的基础上再进行一次加密 形成了百度地图上的坐标 因此 直接将标准地球
  • iOS 15 适配踩坑:NavigationBar、UITabBar失效问题

    苹果前两天推出了iOS 15 秋天都等不及 相关链接 ios 15 0 适配问题 NavigationBar和UITabBar失效问题 Xcode 13 beta版 iOS 15 beta 3的系统 除了客户提出的问题 自己还发现了两处UI
  • 简单的API服务器搭建

    首先需要下载一个Nginx 高性能的HTTP和反向代理服务器 安装 brew install Nginx Step1 配置conf文件 Mac上默认
  • iOS开发实战之app获取通讯录(iOS 9)

    在做通讯类APP的时候 时常会访问到手机的通讯录 来获取联系人的各种属性 那么本文就来讨论一下怎么获取通讯录 注意 iOS 9 版本上可以行 其他版本未试 第一步 先导入系统库 Contacts framework 然后在 h上导入头文件
  • APP开发如何批量生成不同尺寸的图标?

    在我们开发APP的时候 我们使用到大量的不同尺寸的APPLogo的图片 如下图 通常 我们的做法是和设计师沟通 让他们切出这儿所以的图片 然后我们一个一个图片放在对应的位置 这样处理的话 我们比较容易出错 比如说 图片的格式 苹果对图片的格
  • 适配IPv6遇到的坑,终极解决方案

    6 1AppStore发布之后的应用要兼容IPv6 然而我上个星期发布的版本并没有因为没兼容而被拒 这次提交却遇到IPv6兼容问题 话不多说 上代码 NSString getIPWithHostName const NSString hos
  • iOS Cookies.binarycookies(俗称63数据)存取

    iOS 系统会自动将Safari或APP中网络请求的cookie保存为文件 APP的cookie保存路径为APP的沙盒路径 var mobile Containers Data Application x x x Library Cooki
  • iOS图标(AppIcon)与启动图(LaunchImage)

    图标 AppIcon 与启动图 LaunchImage 是开发iOS应用程序必不可少的内容 但是在网络上对于这部分的内容讲解的并不详细 所以花些时间写了这篇文章 希望有需要的朋友可以随时查看 想知道AppIcon与LaunchImage的原
  • iOS开发之ReactiveCocoa框架(RAC)第五篇队列与高级函数

    h文件 import ViewController h import ReactiveCocoa interface ViewController end implementation ViewController void viewDid
  • iOS App上架流程

    前言 作为一名IOS开发者 把开发出来的App上传到App Store是必须的 下面就来详细介绍下具体流程 1 打开苹果开发者中心 https developer apple com 打开后点击 Member Center 如果你的电脑没有
  • UITableView性能优化-一次面试后的反思总结

    面试的时候遇到这个问题 竟一时没有全答上来 于是Google了一下 常见的一些譬如Cell重用 设计统一Cell 缓存Cell高度 Cell数据资源缓存 这些其实平时都在用 但因为平时还是缺乏总结 回答这么个问题的时候却只想到说 重用 缓存
  • iOS开发中的网络请求

    转载自http www cocoachina com ios 20140919 9691 html 今天来说说关于iOS开发过程中的网络请求 关于网络请求的重要性我想不用多说了吧 对于移动客户端来说 网络的重要性不言而喻 常见的网络请求有同
  • Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法

    Xcode5 1默认不支持iOS5版本的模拟器开发调试 在OS X Mavericks 10 9 x 下默认只能支持iOS6 1及以上版本的模拟器 在OS X Mountain Lion 10 8 x 下默认只能支持iOS6 0及以上版本的
  • iOS Push详述,了解一下?

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由WeTest质量开放平台团队发表于云 社区专栏 作者 陈裕发 腾讯系统测试工程师 商业转载请联系腾讯WeTest获得授权 非商业转载请注明出处 原文链接 http wetest
  • iOS开发之内存管理

    iOS开发之内存管理 一 垃圾回收机制 二 内存管理的概念 三 OC内存管理注意事项 四 MRC相关语法 一 垃圾回收机制 与Java语言相同Objective c 2 0之后 也提供了垃圾回收机制 OC是支持垃圾回收机制的 Garbage
  • iOS App打包上架详细流程

    一 前言 作为一名iOS开发者 把辛辛苦苦开发出来的App上传到App Store是件必要的事 但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤 二 准备 一个已付费的开发者账号 可分为 账号类型分为个

随机推荐

  • Mybatis中针对数据库日期JdbcType设置

    Mybatis中针对数据库日期JdbcType设置 在学习Mysql的时候 我们知道数据库类型有date datatime time类型 在用Mybatis进行插入数据的时候 我们实体一般都是直接指定java util Date类型 为了确
  • 机器学习中的相似性度量

    https www cnblogs com heaad archive 2011 03 08 1977733 html 1 欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 标准化欧氏距离 马氏距离 夹角余弦 汉明距离 杰卡德距离 杰卡德
  • 菜鸟入门HTML

    标题HTML 一 1 单标签 一般单独完成某一功能的标签都为单标签 link 导入图片或css或其他资源 例 img src路径 插入一个图片到网页中 例 img src title 123 在这里插入图片描述 https img blog
  • 转:彻底搞定期货穿透式CTP API接入

    中信期货看穿式监管认证操作指南 CTP系统 https www citicsf com static download soft E4 B8 AD E4 BF A1 E6 9C 9F E8 B4 A7 E7 9C 8B E7 A9 BF E
  • NTSC和PAL制同步信号模拟输出

    NTSC和PAL制同步信号模拟输出 原由 由于我想输出一个NTSC制和PAL制的同步黑场 只需要输出同步信号 之后输出rgb信号给ADV 7123 后输出到显示屏 下面是我的心路历程和知识总结 一 了解NTSC和PAL PAL 电视标准 每
  • kinect2.0视角范围和距离远近

    本文章由cartzhang编写 转载请注明出处 所有权利保留 文章链接 http blog csdn net cartzhang article details 44588097 作者 cartzhang Kinect 摄像头范围介绍和玩家
  • 马踏棋盘求----全部解

    标题 运用栈和回溯法求马踏棋盘的全部解 回溯法的写法参考 数据结构 严蔚敏 的迷宫求解 感谢我的队友 汪汪汪 他与求一个解不同之处在于 当我们求到一个解之后 这个程序却会告诉计算机 啊 这不是我们想要的解 我们继续吧 于是 傻傻的计算机就信
  • D3D资源管理

    摘要 受管贴图 Managed textures 也就是我们通常所谓的 自动管理贴图 在DX6中首次被引入 经过一系列的改进和增强 在DX9中自动管理的资源类型增加到贴图 顶点缓冲 顶点索引缓冲 所有这些资源使用统一的公共接口 通过使用D3
  • 【图文分析】Java经典基础练习题(六):猴子吃桃子问题

    文章目录 一 具体题目 二 思路分析 逆向思维 三 代码 结果 代码 结果 四 彩蛋 一 具体题目 猴子第一天摘下若干个桃子 当即吃了一半 还不瘾 又多吃了一个 第二天 早上又将剩下的桃子吃掉一半 又多吃了一个 以后每天早上都吃了前一天剩下
  • Webpack4 配置 Externals

    Externals 配置项用来告诉 Webpack 要构建的代码中使用了哪些不用被打包的模块 也就是说这些模版是外部环境提供的 Webpack 在打包时可以忽略它们 1 有些 JavaScript 运行环境可能内置了一些全局变量或者模块 例
  • 新手小白学Java

    刚开始学习java的时候 可能是一头雾水 不知道从何学起 还有很多Java小白 在刚自学Java的时候玩命的学习 玩命的记住Java原理 天天早上五点起床背Java的一些英文词汇 然后遇见一些未知的困难 让自己打到癫狂状态 逐渐迷失自我放弃
  • 在开发板上挂载NFS

    网络文件系统 NFS Network File System 是一种将远程主机上的分区 目录 经网络挂载到本地系统的一种机制 通过对网络文件系统的支持 用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区 目录 进行操作 在嵌入式L
  • 《动手学深度学习 Pytorch版》 4.8 数值稳定性和模型初始化

    4 8 1 梯度消失和梯度爆炸 整节理论 详见书本 梯度消失 matplotlib inline import torch from d2l import torch as d2l x torch arange 8 0 8 0 0 1 re
  • 安装完MySQL后,却没有密码,如何登录并修改密码?

    1 在终端输入sudo vim etc mysql mysql conf d mysqld cnf 2 在 mysqld 下方的skip external locking下面添加一行 skip grant tables 3 重启MySQL服
  • java实现io阻塞的代码_Java IO(2)阻塞式输入输出(BIO)

    在上文中 Java IO 1 基础知识 字节与字符 了解到了什么是字节和字符 主要是为了对Java IO中有关字节流和字符流有一个更好的了解 本文所述的输出输出指的是Java中传统的IO 也就是阻塞式输入输出 Blocking I O BI
  • Fabric介绍

    简介 由于比特币的流行 以太坊和一些别的衍生技术成长起来 对一些有创新力的企业开始关注区块链底层技术 分布式账本和分布式应用平台 然而 许多企业需要更高的性能 这是那些无须许可的区块链技术无法达到的 另外 在许多场景下 参与者的身份认证是一
  • ctfshow-萌新-web2( 利用intval函数特性配合SQL的特殊符号获取敏感数据 )

    ctf show 萌新模块 web2关 此关卡使用intval 函数强制将参数转换成数值型 可以使用字符绕过 配合特殊符号控制SQL的查询结果 从而获取flag 这一关过滤了or 我们可以使用加号 减号 乘号 除号 或 左移等方式绕过 页面
  • 嵌入式 Linux 入门(三、Linux Shell 及常用命令说明)

    嵌入式 Linux入 门第三课 熟悉掌握 Linux 常用 Shell 命令 矜辰所致 更新Shell echo 命令 2022 7 20 目录 前言 一 Shell 基本说明 1 1 Shell 是什么 1 2 Shell 与 终端 te
  • TensorFlow-gpu报错 failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected

    记录错误 和解决方式 错误 failed call to cuInit CUDA ERROR NO DEVICE no CUDA capable device is detected 这个也是我今天运行TensorFlow GPU的一个cn
  • iOS 4层结构(iOS技术概要)—— Cocoa Touch 层(一)

    苹果公司的iOS平台强力推动了iOS开发 引来了不少人从事iOS开发 也成就了一批一批的开发者 如果你是新手 请把本文作为iOS技术一览 便于你对iOS开发有个粗略的认识 如果你已经是iOS开发者 建议你收藏本文 它是你日常开发的指导工具