一、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的更多相关文章

  1. iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建

    iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建 一.实现效果 说明:该示例在storyboard中使用动态单元格来完成. 二.实现 1.项目文件结构 ...

  2. 无责任Windows Azure SDK .NET开发入门篇一[Windows Azure开发前准备工作]

    一.Windows Azure开发前准备工作 首先我们需要了解什么是 Azure SDK for .NET?微软官方告诉我们:Azure SDK for .NET 是一套应用程序,其中包括 Visua ...

  3. iOS开发——高级篇——传感器(加速计、摇一摇、计步器)

    一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...

  4. iOS开发——高级篇——Parse 教程:网络后台基础

    本教程已针对Swift, iOS 8.3, Xcode 6.3及最新的Parse SDK(1.7.1版本)更新. 网络后台支持可以为你的App添加许多崭新的功能:不论是数据同步,社交分享,还是云端存储 ...

  5. iOS开发——高级篇——iOS开发之网络安全密码学

    一.非对称加密 - RSA : + 公钥加密,私钥解密: + 私钥加密,公钥解密: + 只能通过因式分解来破解 二.对称加密 - DES - 3DES - AES (高级密码标准,美国国家安全局使用, ...

  6. iOS开发——高级篇——线程同步、线程依赖、线程组

    前言 对于iOS开发中的网络请求模块,AFNet的使用应该是最熟悉不过了,但你是否把握了网络请求正确的完成时机?本篇文章涉及线程同步.线程依赖.线程组等专用名词的含义,若对上述名词认识模糊,可先进行查 ...

  7. iOS开发——高级篇——iOS中如何选择delegate、通知、KVO(以及三者的区别)

      在开发IOS应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers[B]怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信:1委托delegation2通知 ...

  8. iOS开发——高级篇——UIDynamic 物理引擎

    一.UIDynamic 1.简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞 ...

  9. iOS开发——高级篇——地理定位 CoreLocation

    一.CoreLocation 在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆.找KTV.找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达 在上述应用 ...

随机推荐

  1. java Socket编程-基于UDP

    package com.wzy.UDPTest; import java.net.DatagramPacket; import java.net.DatagramSocket; import java ...

  2. sqlmap常用技巧

    http://nanshihui.github.io/2016/02/25/sqlmaptips/

  3. rpc框架之avro 学习 1 - hello world

    avro是hadoop的一个子项目,提供的功能与thrift.Protocol Buffer类似,都支持二进制高效序列化,也自带RPC机制,但是avro使用起来更简单,无需象thrift那样生成目标语 ...

  4. linux下,Python 多版本共存,及Pip,Easy_install 安装扩展包

    Python2与Python3共存 安装Python3后,建立ln,使用Python(Python2),Python3 来区分两个版本 使用sudo apt-get install python3-s ...

  5. Redis作为消息队列服务场景应用案例

    NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例   一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...

  6. Windows phone应用开发[17]-xap提交异常处理

    在windows phone 应用提交操作上早在2011年时就写过一篇Windows phone 应用开发[4]-应用发布,那时wp应用提交官方市场的流程繁杂[超过了5步].因为上传和填写应用信息页面 ...

  7. 【Python】[面向对象高级编程] 使用__slots__,使用@property

    1.使用 __slots__    给实例绑定方法, >>> def set_age(self, age): # 定义一个函数作为实例方法 ... self.age = age .. ...

  8. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  9. jenkins持续集成源码管理选项为None,构建失败找不到git.exe解决办法

    我的jenkins版本为Jenkins ver. 2.19.1 1.源码管理选项只有None的解决办法: 在插件管理中心,搜索对应的源码管理插件这里以git为例,搜索git plugin点击右下角的安 ...

  10. TeamViewer12.0.71503(远程控制软件)精简版 单文件企业版介绍

    TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...