iPad开发(Universal Applications)
1、判断是否在iPad上
BOOL iPad = ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad);
二、UISplitViewController 分割视图控制器
1、UISplitViewController 分割视图控制器(顶级视图,不能放在Nav或者其他视图中)
(1 可以通过 if (self.splitViewController) 判断是否是分割视图中
@property (strong) UISplitViewController *splitViewController;
(2 控制器分为两部分,0 代表 Master, 1 就是指 Detail
@property (copy) NSArray *viewControllers;
比如说 UIViewController *detailVC = self.splitViewController.viewControllers[1]; 如果我们处在分割视图中,它会返回detail,否则它会返回nil,这个也可以用来判断是否在分割视图中
2、delegate 协议(需要在ViewDidLoad之前就定义好协议,可能是在awakeFromNib)
(1 主要用来控制master和detail何时出现
(2 比如
- (BOOL)splitViewController:(UISplitViewController *)sender shouldHideViewController:(UIViewController *)master inOrientation:(UIInterfaceOrientation)orientation
{
return NO; //从不隐藏左边的master
}
- (BOOL)splitViewController:(UISplitViewController *)sender shouldHideViewController:(UIViewController *)master inOrientation:(UIInterfaceOrientation)orientation
{
return UIInterfaceOrientationIsPortrait(orientation);//只在竖屏中隐藏master(对应的detail 的左上角会有一个按钮可以切换回去,但是如果没有实现委托协议的话就没有这个按钮)
}
- (void)splitViewController:(UISplitViewController *)sender willHideViewController:(UIViewController *)master withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popover
{
barButtonItem.title = master.title;
self.navigationItem.leftBarButton = barButtonItem;//相当于把返回master 的按钮设置为 UINavigationController的barButtonItem
}
3、master中的点击如何在detail中响应呢?
(1 通过action,通过prepareSegue一样
- (IBAction)doit
{
id detailViewController = self.splitViewController.viewControllers[1];
[detailViewController setSomeProperty:...];
}
(2 segue :但是它会更新整个视图控制器,包括我们设置的上面提到的navigtionItem的按钮,都会重新设置,所以很一般不采用
三、Popovers弹窗控制器
(不属于UIViewController,是一个NSObject,主要控制另外一个视图控制器弹出到屏幕上)
1、获得要弹出的视图控制器
@property (nonatomic, strong) UIViewController *contentViewController; //通过先获得这个要弹出的视图控制器
2、创建一个Popovers 的 segue
(需要注意的是,你在prepaeForsegue中获得的segue,是一个UIStoryboardPopoverSegue )
1 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 2 { 3 if ([segue isKindOfClass:[UIStoryboardPopoverSegue class]]) { 4 UIPopoverController *popoverController = 5 ((UIStoryboardPopoverSegue *)segue).popoverController; 6 ... 7 } }
3、点击Popovers之外的地方,一般是默认隐藏的,但是如果它是弹窗控制器中这个视图数组中的视图的话,并不会消失隐藏
@property (copy) NSArray *passthroughViews;
但是我们可以让它隐藏:
- (void)dismissPopoverAnimated:(BOOL)animated;
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)sender;
转载于:https://www.cnblogs.com/gongyuhonglou/p/10311602.html
iPad开发(Universal Applications)相关推荐
- iPhone和iPad开发书籍大全
CocoaChina 苹果开发中文站 http://www.cocoachina.com/ Learning.iOS.Game.Programming(Addison.Wesley.2010-09) ...
- 《深入浅出iPhone/iPad开发(第2版)》——四处看看
本节书摘来自异步社区<深入浅出iPhone/iPad开发(第2版)>一书中的四处看看,作者 [美]Dan Pilone , Tracey Pilone,更多章节内容可以访问云栖社区&quo ...
- 《深入浅出iPhone/iPad开发(第2版)》——在Xcode中建立你的界面
本节书摘来自异步社区<深入浅出iPhone/iPad开发(第2版)>一书中的在Xcode中建立你的界面,作者 [美]Dan Pilone , Tracey Pilone,更多章节内容可以访 ...
- IPad开发之有帮助的开发工具
本文介绍一些有帮助的IPad应用,能够帮助我们简化设计开发IPad应用. 1.iPad Dev Center 文档中心和SDK.这里有编程指南.案例代码,以及SDK4. 2. Dropbox Drop ...
- 浅谈iPhone和iPad开发中的图标设置
浅谈iPhone和iPad开发中的图标设置 图标大小问题 我们的辛辛苦苦做出来的应用程序在iPhone上的表示仅仅是一个图标,对这个图标不可以不谨慎对待,不能因为大小不对头这些小问题而失真啊什么的. ...
- 《深入浅出iPhone/iPad开发(第2版)》——组件可以触发特定事件
本节书摘来自异步社区<深入浅出iPhone/iPad开发(第2版)>一书中的组件可以触发特定事件,作者 [美]Dan Pilone , Tracey Pilone,更多章节内容可以访问云栖 ...
- iPad开发(相对于iPhone开发时专有的API)
iPad开发 一.iPad开发简介 1.什么是iPad 一款苹果公司于2010年发布的平板电脑 定价介于苹果的智能手机iPhone和笔记本电脑产品之间 跟iPhone一样,搭载的是iOS操作系统 2. ...
- 《iPad开发从入门到精通》——6.2节系统主界面
本节书摘来自异步社区<iPad开发从入门到精通>一书中的第6章,第6.2节系统主界面,作者 杨春泽,更多章节内容可以访问云栖社区"异步社区"公众号查看 6.2 系统主界 ...
- iOS(iPhone,iPad))开发(Obje…
原文地址:iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引 作者:子木潇雨 http://www.code4app.com 这网站不错,收集各种 iOS App 开发可 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类 1.教育工具 2.生活工具 3.社交应用 4.定位工具 5.游戏 6.报纸和杂志的阅读器 7.移动办公应用 8.财经工具 9.手机购物应用 10.风景区相关 ...
最新文章
- Chrome 技术篇-常用web调试技巧清除缓存并硬性重新加载
- 关于STL 容器的嵌套使用, 小试牛刀
- mongodb创建用户
- input python 验证int_全国计算机二级Python真题解析-1
- 2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey
- 总奖池25万!百度AI Studio人工智能竞赛火热报名中
- 互联网产品的测试策略应该如何设计?
- 怎么删除用户_误删的手机照片怎么恢复?三种快速恢复的方法
- Maven构建Web项目
- 软件工程之软件设计③(概要设计说明书,详细设计说明书)
- Excel表格中正数设置为红色负为绿色
- 中国低线城市洞察综述
- 计算机专业在经济社会的应用,计算机技术对社会发展的影响
- structs2框架学习一(启动过程和各种配置)
- 服务器摆放需要预留U位么_客厅沙发怎么摆放?六种方法教你如何摆放!(实用荐读)...
- 直击进博会 | 霍尼韦尔、飞利浦、西门子医疗、阿斯利康、赛诺菲、默沙东、蔡司等持续看好中国市场...
- 支持小米java文件阅读器_小米多看电纸书MiReader 桌面LauncherApp(自制软件)
- fork()创建子进程步骤、函数用法及常见考点(内附fork()过程图)
- Tableau学习Step2一数据文件的读取与统计图、表的概述
- Java上传图片功能