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动画—UIView动画以及CoreAnimation动画

    温故知新 一 UIView动画 1 1稍微简单点的动画 1 2稍微复杂的动画 二 CoreAnimation动画 CA动画的特点 只能添加到UIView的CALayer上面 必须需要引入
  • [CocoaPods]podspec文件中的resource和resource_bundle

    相信基本上所有的iOS开发同学针对于CocoaPods都不陌生 即便没有用过 也是久闻大名如雷贯耳 作为Objective C和Swift中非常流行的依赖管理工具 它拥有超过10000个公有程序库 通过一份Podfile文件和pod ins
  • OC使用cocoapods导入swift库注意

    首先就是在 targets gt Build Setting gt Packaging 中设置 Defines Module为YES 然后创建swift文件时会生成 文件名 Bridging Header h 这样一个桥接文件 怎样使用co
  • iOS开发—RunLoop详解

    随着oc语言不断迭代 苹果的API也是逐步完善 RunLoop在实际开发中应用的越来越少 但是在面试中 假如面试官问你RunLoop的相关知识了解 那就相当于面试官在问你从事iOS开发工作的真实年限问题 那么下面我们就详细了解一下RunLo
  • iOS开发常用的加密技术

    iOS开发常用的加密技术 我胡汉三又回来了啦 时隔几月没有更博客了 我自己都受不鸟自己啦 在这几个月里经历了很多杂七杂八的事儿 不过话说回来 再怎么忙都不应该中断学习的步伐 再怎么忙都不能成为博客停更的理由 好吧就检讨到这里 开始进入正题
  • 将APP程序发布到iPhone或iPad上去测试

    转载至 http www appshare cn thread 3123 1 1 html 图文的介绍版本 http fstoke me blog tag apple 绝大多数iPhone Developer Distribution 的代
  • IOS 启动画面和图标设置(适配IOS7 and Xcode5)

    关于IOS程序设置启动画面以及图标的设备目前主要为 IPhone设备 和IPad设备 IPhone启动画面以及图标的设置 目前IPhone的分辨率为 320X480 640X960 640X1136 Default png 320X480
  • 关于点击UIButton弹出键盘,并且键盘的上方还需添加UITextField或者UITextView的解决方法

    最近在做一个项目的时候 有这样一个需求 点击UIButton弹出键盘 键盘的上方还需添加一个输入框 UITextField UITextView 开始的想法是直接设置输入框的 inputAccessoryView 设置后发现键盘根本就没显示
  • 地球坐标,火星坐标,百度坐标转换

    标准地球坐标即GPS设备获得的坐标 该坐标需要经过国家测绘局进行加密后形成火星坐标 WGS 84 我们用的google坐标和高德地图坐标也就是火星坐标 百度地图 在火星坐标的基础上再进行一次加密 形成了百度地图上的坐标 因此 直接将标准地球
  • autorelease(IOS开发)的原理详解

    转载出处 http tieba baidu com p 3427605546 转载出处 http blog csdn net c395565746c article details 7613814 当您向一个对象发送一个autoreleas
  • xxx.app已损坏,打不开。 您应该将它移到废纸篓。

    Mac最新的系统打开网上下载的应用程序时 会提示 xxx app已损坏 打不开 您应该将它移到废纸篓 解决方式 1 系统偏好设置 gt 安全性与隐私 gt 修改为任何来源 2 serria里面没有 任何来源 这一项 需要打开终端执行sudo
  • Xcode8不能在iOS7上调试,Could not find Developer Disk Image的解决方法

    升级完Xcode8之后 默认情况下 是无法进行iOS7的调试的 因为Xcode8里面不再游iOS7的镜像文件 所以会提示 Could not find Developer Disk Image 解决方法如下 打开finder 应用程序 Xc
  • 关于目前自己iOS项目使用的第三方开源库

    1 AFNetworking 目前比较推荐的iOS网络请求组件 默认网络请求是异步 通过block回调的方式对返回数据进行处理 2 FMDB 对sqlite数据库操作进行了封装 demo也比较简单 3 MBProgressHUD 也是iOS
  • iOS图标(AppIcon)与启动图(LaunchImage)

    图标 AppIcon 与启动图 LaunchImage 是开发iOS应用程序必不可少的内容 但是在网络上对于这部分的内容讲解的并不详细 所以花些时间写了这篇文章 希望有需要的朋友可以随时查看 想知道AppIcon与LaunchImage的原
  • UITableView性能优化-一次面试后的反思总结

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

    NSMutableArray array NSMutableArray arrayWithObjects 2013 10 18 2013 10 11 2013 10 16 2013 10 15 2013 10 14 2013 10 13 2
  • iOS下XMPP开发之XMPP开发环境配置(二)mac上搭建openfire服务器

    一 下载并安装openfire 1 到http www igniterealtime org downloads index jsp下载最新openfire for mac版 比如 Openfire 3 8 1 下载后的文件 openfir
  • 如何获取iPhone手机的UUID

    方法一 通过Windows下的iTunes 1 数据线连接iPhone手机 在Windows下打开iTunes 在 iPhone 管理界面下zhi点击 序列号 查看自己的 UUID 标识符 2 此dao时点击菜单 编辑 gt 复制 3 新建
  • IOS开发系列——异步绘制专题

    异步绘制专题 1 图片处理 1 1 编辑图片的几个方法 第一种 先用UIImage对象加载一张图片 然后转化成CGImageRef放到CGContext中去编辑 第二种 用CGImageCreate函数创建CGImageRef 然后把CGI
  • 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开发者 建议你收藏本文 它是你日常开发的指导工具