95-iPad开发(1)

来源:互联网 发布:w7怎么切换网络连接 编辑:程序博客网 时间:2024/05/17 03:23
iPad开发(1)   

iPad和iPhone开发的主要区别
1>设备支持的应用程序
iPhone上只能运行iPhone程序
iPad上能够运行iPhone \ iPad程序

2>屏幕方向的支持
iPhone支持3个方向

iPad支持4个方向

3>键盘
iPad的虚拟键盘多了个退出键盘的按钮


iPad特有的API

1.UIPopoverController
2.UISpiltViewController:包含菜单控制器和详情控制器

1.UIPopoverController

1>什么是UIPopoverController

one:是iPad开发中常见的一种控制器(
注意:在iPhone上iOS8开始使用UIPopoverPresentationController和UIPopoverController类似
two:跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController
three:它只占用部分屏幕空间来呈现信息,而且显示在屏幕的最前面

2>UIPopoverController的使用步骤
1.设置内容控制器
问题一:使用init方法不能有效初始化UIPopoverController
// 1.创建UIPopoverController
UIPopoverController *menuPopoer = [[UIPopoverController alloc] 
init];
// 2.创建内容控制器,并且设置内容控制器
MenuViewController *menuVc = [[MenuViewController allocinit];
menuPopoer.contentViewController = menuVc;

问题二:不用每一次都重新创建UIPopoverController,设置成员变量
// 1.创建内容控制
MenuViewController *menuVc = [[MenuViewController alloc] init];
// 2.创建UIPopoverController,并且设置内容控制器
UIPopoverController *menuPopoer = [[UIPopoverController allocinitWithContentViewController:menuVc];

正确的方法
//1.创建popOver的内容控制器
MenuViewController *menuVc=[[MenuViewController alloc] init];
//2.创建popOver控制器,并设置内容控制器
_menuPopover=[[UIPopoverController allocinitWithContentViewController:menuVc];

2.设置内容尺寸:显示出来占据多少屏幕空间
注意:self.contentSizeForViewInPopover ios7以后失效使用以下方法代替
self.preferredContentSize=CGSizeMake(12044 * self.items.count);

3.设置内容显示的位置:显示在哪个位置(两种方式)
one:围绕着一个UIBarButtonItem显示
参数
item :围绕着哪个UIBarButtonItem显示
arrowDirections :箭头的方向
animated :是否通过动画显示出来

[self.menuPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

two:围绕着某一块特定区域显示(箭头指定那块特定区域)
参数:
rect :指定箭头所指区域的矩形框范围(位置和尺寸)
view :rect参数是以view的左上角为坐标原点(0,0)
arrowDirections :箭头的方向
animated :是否通过动画显示出来

[self.titlePopover presentPopoverFromRect:sender.bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

3>UIPopoverController的补充
补充一:通过属性或者方法,可以修改UIPopoverController的内容控制器
self.menuPopoer.contentViewController
self.menuPopoer setContentViewController:(UIViewController *) animated:(BOOL)

补充二:通过该方法可以改变UIPopoverController的大小
self.menuPopoer setPopoverContentSize:(CGSize) animated:(BOOL)

补充三:通过该属性可以让UIPopoverController弹出来之后,一些控件依然可以和用户交互
self.menuPopoer.passthroughViews = @[self.testButton];

补充四:设置代理,监听UIPopoverController的状态
self.menuPopoer.delegate

modal在iPad中的使用
1>modal呈现样式
Modal出来的控制器,最终显示出来的样子


Modal常见有4种呈现样式
UIModalPresentationFullScreen 全屏显示(默认)
UIModalPresentationPageSheet
宽度:竖屏时的宽度(768)
高度:当前屏幕的高度(填充整个高度)


UIModalPresentationFormSheet 占据屏幕中间的一小块
UIModalPresentationCurrentContext 跟随父控制器的呈现样式

2>modal
过渡样式
Modal出来的控制器,是以怎样的动画呈现出来

Modal一共4种过渡样式

UIModalTransitionStyleCoverVertical :从底部往上钻(默认)
UIModalTransitionStyleFlipHorizontal :三维翻转
UIModalTransitionStyleCrossDissolve :淡入淡出
UIModalTransitionStylePartialCurl :翻页(只显示部分,使用前提:呈现样式必须是UIModalPresentationFullScreen
0 0
原创粉丝点击