分割视图控制器(UISplitViewController)

来源:互联网 发布:javascript常用函数 编辑:程序博客网 时间:2024/05/17 08:07

iPad特有的控制器
1.UISplitViewController 分割视图控制器
组成:master(主界面)+detail(详细界面)

默认情况下,UISplitViewController的一端连接到一个受导航控制器(UINavigationController)管理的表视图(UITableViewController),这代表主场景;另一端连接到一个普通视图控制器(UIViewController),这代表详细场景

UISplitViewControllerDelegate协议
主界面将要隐藏
- (void)splitViewController:(UISplitViewController )svc willHideViewController:(UIViewController )aViewController withBarButtonItem:(UIBarButtonItem )barButtonItem forPopoverController:(UIPopoverController )pc
主界面将要显示
- (void)splitViewController:(UISplitViewController )svc willShowViewController:(UIViewController )aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem

注意:
1.UISplitViewController 只适用于iPad
2.UISplitViewController在竖屏下master是隐藏的,detail全部显示,在横屏下master显示1/3,detail显示2/3

主场景和详细场景可以通过分割视图控制器互相访问,属性splitViewController包含一个名为viewControllers的数组。通过使用NSArray的方法lastObject,可获取该数组的最后一个元素(详细信息视图)。通过调用方法objectAtIndex,并将索引0传递给它,可获取该数组的第一个元素(主视图)。这样,两个视图控制器就可交换信息了。
主视图控制器可使用如下代码获取详细视图控制器:[self.splitViewController.viewControllers lastObject]
而详细视图控制器可使用如下代码获取主视图控制器:[self.splitViewController.viewControllers objectAtIndex:0]

2.UIPopoverController 临时弹出框控制器
创建临时弹出框控制器
UIPopoverController *_pop1 = [[UIPopoverController alloc] initWithContentViewController:edit];
设置弹出视图的内容大小
_pop1.popoverContentSize = CGSizeMake(300.0, 400.0);

展示
[_pop1 presentPopoverFromBarButtonItem:item permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
[_pop1 presentPopoverFromRect:CGRectMake(90.0, 320.0, 300, 400.0) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];注意箭头方向与视图位置相关

1 0
原创粉丝点击