行云

行至水穷处,坐看云起时。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
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);

posted on 2012-08-30 19:38  windflying  阅读(552)  评论(0)    收藏  举报