0421 iPad 分频控制器/UISplitViewController

1. 屏幕

2. 创建单一视图项目,底下选中iPad(也可以在项目里面改)

3. 创建左右控制器

分割视图:

// 左边是分组的tableView

放倒屏幕 command + 方向

代码:

1. 创建split

2. 左右,左右一般会用导航控制器来控制.

// 3. 设置根视图控制器

self.window.rootViewController = split;

横状态屏才可以看到,左右的分割视图效果.

4. 下面把导航控制器,套在导航控制器里.

// 今天的效果,左侧是书签,右侧是浏览器.

左右控制器是平行了,不是正向传值和反向传值.

a 和 b 同时存在, 左边点击,右边显示.

5. 弄一个字典NSDictionary *bookMarks;

// 注意别忘了前缀,否则加载不出来的!

6. 有多少个键值对,就有多少行.

7. cell的内容需要通过key值取.

8. 实例化webView

右边webView , 是scrollView .

9. 默认给它一个url

loadRequest方法, 需要一个NSURLRequest对象, 则就需要一个url

10. 通知中心

一定只能从userInfo里面取信息, 不要从Object是发送对象,表示只接受它发来的,其他人的都不接受.

 

11. 记得析构函数,移除通知.

// 删除所有  removeObserver:self

// 或移除指定的 name: @“newURL” object: nil


1.  默认情况下,竖屏不显示左边控制器.

下面处理竖屏的时候,也显示左边的tableView.

split的代理:

// 注: UISplitViewController的实例化和代理方法,都在AppDelegate中写.

// 控制竖屏的时候,是否显示左边的控制器.

或者用系统的宏,效果是一样的:

效果如下:


2. 倒屏的效果,有点丑:

// 现在要做的是,autoResizing,让其上下左右贴近父视图.

// 兄弟视图是autoLayout

// 下图是倒过来的样子(即Home键在最顶上)

代码:

webView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

注意:

||(短路或)和 |(或)都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。// | 和 || 区别

修改后:

3. 现在想要的效果,拉伸后也要看到左边的标签.

-(void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc{
   
    barButtonItem.title = @"显示";
    right.navigationItem.leftBarButtonItem = barButtonItem;

}

效果: 1)  // “显示”按钮 , 点击会显示左侧按钮

2) 弹出菜单 // 记住设代理

// 点击”显示”弹出来,点击其他任何地方,收起.

系统已经帮我们把这些功能都实现好了.

时间: 2024-10-31 13:34:01

0421 iPad 分频控制器/UISplitViewController的相关文章

0421 iPad 泡泡

1. 拖控件 2. 连线 3. 创建tableViewController 4. 实例化pop, 作为成员 5. pop方法 // 箭头朝上,内容就想下,如图: // 下====上 以此类推 Any 会自己决定一个最合适的方向 // so: 一般用Any 1. 点击按钮时, 保存这个数字 2. 再次输入时,过滤,比如输入1就出来先前输入的内容. // 123 1123 12345 参考之前的笔记: 0324 Foundation框架 NSSting ***********************

IPad专有API UISplitViewController开发菜单浏览demo

项目地址:https://github.com/samyanghehe/sqlLiteDemo/tree/master/YSUiSplitViewController

iPad开发专有API-UIPopoverViewController和UISplitViewController

iPad专有api:漂浮视图控制器UIPopoverViewController和分割视图控制器UISplitViewController ----------------------------------UIPopoverViewController---------------------------------- AppDelegate.m UINavigationController *navi; if ([[UIDevice currentDevice]userInterfaceId

iPad编程

1. iPad 现有型号: iPad Pro, iPad Air, iPad mini 均配备Retina显示屏.早期还有iPad 依次对应的坐标系及分辨率: iPad Pro 坐标系:1366 x 1024  分辨率:2732 x 2048 iPad Air  坐标系:1024 x 768    分辨率:2048 x 1536 iPad mini  坐标系:1024 x 768    分辨率:2048 x 1536 开发过程中图片可只设计2048 x 1536 分辨率下的.根据实际情况,也可选

iPad开发简单介绍

iPad开发最大的不同在于iPhone的就是屏幕控件的适配,以及横竖屏的旋转. Storyboard中得SizeClass的横竖屏配置,也不支持iPad开发. 1.在控制器中得到设备的旋转方向 在 iOS8及以后,屏幕就只有旋转后屏幕尺寸之分,不再是过期的旋转方向. 在iOS7及以前得到屏幕旋转方向的方法 /** // UIInterfaceOrientation ,屏幕方向 UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown,

iOS笔试题03

1. When to use NSMutableArray and when to use NSArray? 1> 当数组元素需要动态地添加或者删除时,用NSMutableArray 2> 当数组元素固定不变时,用NSArray 2. Give us example of what are delegate methods and what are data source methods of uitableview. 1> 代理方法:返回tableView每行的高度.监听tableVi

【分享】2015 iOS工程师面试题

http://nbnnn.com/archives/16#6 Object-c的类可以多重继承么?可以实现多个接口么?Category是什么? #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别? 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用? 写一个setter方法完成@property(nonatomic,retain)NSString *

最全的iOS面试题及答案-转载

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现多个接口可以完成C++的多重继承:Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?

iOS学习笔记—ViewController/生命周期

ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图.iOS的SDK中提供很多原生ViewController,以支持标准的用户界面,例如表视图控制器(UITableViewController).导航控制器(UINavigationController).标签栏控制器(UITabbarController)和iPad专有的UISplitViewController等. 按结构可以对iOS的所有ViewCo