Popover 与 Modal view (模态视图)
Popover view: 点击视图外的地方,popover view就会消失。 popover view的显示:
PopoverViewController *controller = [[self storyboard] instantiateViewControllerWithIdentifier:@"PopoverView"]; [controller setDelegate:self]; UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:controller]; [popoverController setPopoverContentSize:CGSizeMake(320.0, 320.0)]; [popoverController presentPopoverFromBarButtonItem:[self modalButton] permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
Modal view: 一般需要点击视图上的某个按钮,Modal view才会消失。 Modal view的显示:
ModalViewController *modalView = [[self storyboard] instantiateViewControllerWithIdentifier:@"ModalView"]; ;[modalView setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; [modalView setModalPresentationStyle:UIModalPresentationFormSheet];[self presentModalViewController:modalView animated:YES];
什么时候用Popover?
苹果用户接口手册的建议是:
1 用来提供与所选控件有关的额外信息列表
2 在竖屏的分割视图中,用来显示在横屏时出现左边面板的列表。
3 用来显示将要在Action sheet中显示的选项列表。
什么时候用Modal view?
苹果用户接口手册的建议是:
1 用来获得即时信息(程序需要相应信息才能继续)
2 运行过程中提供一些关键信息
3 用来决定程序运行的流程(依赖用户做出的选择,执行不同的流程)
系统默认的Modal view显得太大, 如何调整Modal view的大小(尺寸)呢?
[self presentModalViewController:modalView animated:YES]; //指定大小 modalView.view.superview.frame = CGRectMake(0, 0, 400, 400); //调整位置 //modalView.view.superview.center = self.view.center; modalView.view.superview.center = CGPointMake(512, 374);