iOS开发——高级篇——iPad开发、iPad开发中的modal
一、iPad简介
1、什么是iPad
一款苹果公司于2010年发布的平板电脑
定位介于苹果的智能手机iPhone和笔记本电脑产品之间
跟iPhone一样,搭载的是iOS操作系统
2、iPhone和iPad
iPhone是手机,iPad是平板电脑
iPhone和iPad开发的区别
UI元素的排布 \设计
键盘
API
屏幕方向的支持
… …
3、屏幕的尺寸 \分辨率
在iOS开发中,只需要关注以下几种情况
iPhone
3.5 inch:320 x 480
4.0 inch:320 x 568
4.7inch : 375 x 667
5.5 inch : 414 x 736
iPad、iPad Mini
9.7 inch、7.9 inch:768 x 1024
因为iPad屏幕比iPhone大,可以容纳更多的UI元素,因此排列方式是不一样的
iPad的虚拟键盘多了个退出键盘的按钮
4、iPad特有的API
iPad多了一些特有的类,比如:
UIPopoverController
UISplitViewController
… …
有些API在iPhone和iPad都能用,但是显示效果是有差异的,比如UIActionSheet
5、屏幕方向的支持
iPhone支持3个方向
iPad支持4个方向
一般情况下,iPhone应用就一种屏幕方向,要么竖屏,要么横屏(游戏)
其次,苹果官方建议:iPad应用最好同时支持横屏、竖屏两种方向
6、总结
设备支持的应用程序
iPhone上只能运行iPhone程序
iPad上能够运行iPhone \ iPad程序
开发过程
iPhone和iPad开发的流程是一致的
在iPhone开发中学到的所有知识基本都能用在iPad上
二、iPad开发的modal
1、简介
在iPhone开发中
Modal是一种常见的切换控制器的方式
默认是从屏幕底部往上弹出,直到完全盖住后面的内容为止
在iPad开发中
Modal的使用频率也是非常高的
对比iPhone开发,Modal在iPad开发中多了一些用法
2、呈现样式
什么叫呈现样式
Modal出来的控制器,最终显示出来的样子
Modal常见有4种呈现样式
UIModalPresentationFullScreen :全屏显示(默认)
UIModalPresentationPageSheet
宽度:竖屏时的宽度(768)
高度:当前屏幕的高度(填充整个高度)
UIModalPresentationFormSheet :占据屏幕中间的一小块
UIModalPresentationCurrentContext :跟随父控制器的呈现样式
3、过渡样式
什么叫过渡样式
Modal出来的控制器,是以怎样的动画呈现出来
Modal一共4种过渡样式
UIModalTransitionStyleCoverVertical :从底部往上钻(默认)
UIModalTransitionStyleFlipHorizontal :三维翻转
UIModalTransitionStyleCrossDissolve :淡入淡出
UIModalTransitionStylePartialCurl :翻页(只显示部分,使用前提:呈现样式必须是UIModalPresentationFullScreen)
三、开发中的注意点
1、判断横竖屏幕
BOOL isLandscape = self.view.width == 1024;
在IPad开发中一般通过宽高判断当前横竖屏状态
2、在屏幕即将旋转的时候会调用下面的方法
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
// 1.拿到屏幕的方向
BOOL isLandscape = size.width == 1024;
}
3、状态栏设置(和iPhone一样)
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
待续。。。
iOS开发——高级篇——iPad开发、iPad开发中的modal的更多相关文章
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建 一.实现效果 说明:该示例在storyboard中使用动态单元格来完成. 二.实现 1.项目文件结构 ...
- 无责任Windows Azure SDK .NET开发入门篇一[Windows Azure开发前准备工作]
一.Windows Azure开发前准备工作 首先我们需要了解什么是 Azure SDK for .NET?微软官方告诉我们:Azure SDK for .NET 是一套应用程序,其中包括 Visua ...
- iOS开发——高级篇——传感器(加速计、摇一摇、计步器)
一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...
- iOS开发——高级篇——Parse 教程:网络后台基础
本教程已针对Swift, iOS 8.3, Xcode 6.3及最新的Parse SDK(1.7.1版本)更新. 网络后台支持可以为你的App添加许多崭新的功能:不论是数据同步,社交分享,还是云端存储 ...
- iOS开发——高级篇——iOS开发之网络安全密码学
一.非对称加密 - RSA : + 公钥加密,私钥解密: + 私钥加密,公钥解密: + 只能通过因式分解来破解 二.对称加密 - DES - 3DES - AES (高级密码标准,美国国家安全局使用, ...
- iOS开发——高级篇——线程同步、线程依赖、线程组
前言 对于iOS开发中的网络请求模块,AFNet的使用应该是最熟悉不过了,但你是否把握了网络请求正确的完成时机?本篇文章涉及线程同步.线程依赖.线程组等专用名词的含义,若对上述名词认识模糊,可先进行查 ...
- iOS开发——高级篇——iOS中如何选择delegate、通知、KVO(以及三者的区别)
在开发IOS应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers[B]怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信:1委托delegation2通知 ...
- iOS开发——高级篇——UIDynamic 物理引擎
一.UIDynamic 1.简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞 ...
- iOS开发——高级篇——地理定位 CoreLocation
一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用 ...
随机推荐
- ajax获取数据的形象比喻,助于理解记忆
过程 创建对象(打开浏览器) 连接服务器(输入网址) 发送请求(按下回车) 服务器接收并返回数据(显示对应的网址网站内容) 原理
- #1014 Trie树
本题主要是求构造一棵Trie树,即词典树用于统计单词. C#代码如下: using System; using System.Collections.Generic; using System.Lin ...
- 微信小程序入门正确姿势(一)
[未经作者本人同意,请勿以任何形式转载] >>>前言 这是 [认真学编程] 系列的 第4篇 文章(微信小程序入门系列),欢迎点赞分享.写留言,这些都是对我最好的支持. 本系列适合有一 ...
- swift上传头像
很久没有写博客了,今天特地写了这个,也是一边仿照别人写的demo,注释部分都是需要的.需要的同学可以参考一下. @IBAction func headImageBtnPage(){ //上传头像 / ...
- WCF中的错误及解决办法
一 . HTTP 无法注册 URL http://+:8000/Users/.进程不具有此命名空间的访问权限今天按照网上的例子开始学习WCF程序,运行的时候却发现出如下问题:HTTP 无法注册 ...
- Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类
一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...
- JavaScript数组的方法
push() :将参数加载到数组的最后,返回数组的长度 pop() :删除数组的最后一个元素,返回删除的值 shift() :删除数组的第一个元素,返回删除的值 unshift ...
- Fxx and game
可提交的传送门http://acm.hdu.edu.cn/showproblem.php?pid=5945 分析:这道题目可以采用动态规划来解决 设f[i]表示把i变成1的最小代价. 所以有:f[i] ...
- MapReduce实现手机上网流量分析(业务逻辑)
一.问题背景 现在的移动刚一通话就可以在网站上看自己的通话记录,以前是本月只能看上一个月.不过流量仍然是只能看上一月的. 目的就是找到用户在一段时间内的上网流量. 本文并没有对时间分组.下一节进行分区 ...
- pyspider爬豆瓣电影实例
直接copy官网实例会出现599的错误,百度了很久发现是因为证书的问题 添加这一句忽略证书 validate_cert = False 代码如下: ++++++++++++++++++++++++++ ...