UIPopoverController的使用

来源:互联网 发布:evisu淘宝天猫假货 编辑:程序博客网 时间:2024/05/01 22:49

UIPopoverController的使用

Published by ring on 三月 29th, 2011 - in UIPopoverController

UIPopoverController只能在ipad设备上面使用;作用是用于显示临时内容,特点是总是显示在当前视图最前端,当单击界面的其他地方时自动消失。

UIViewController* vCtrl = [[UIViewController alloc] init];UIPopoverController* popController = [[UIPopoverController alloc] initWithContentViewController:vCtrl]; popController.popoverContentSize = CGSizeMake(320,480);CGrect rect = CGRectMake(0,0,2,2)[popController presentPopoverFromRect:rect                        inView:aView                       permittedArrowDirections:UIPopoverArrowDirectionUp                       animated:YES];


在使用该控制器的时候,下面几个步骤是必须的:
1.UIPopoverController该控制器的内容必须由一个控制器提供;提供方式有三:

  • - (id)initWithContentViewController:(UIViewController *)viewController
  • @property (nonatomic, retain) UIViewController *contentViewController
  • - (void)setContentViewController:(UIViewController *)viewController animated:(BOOL)animated

2.设置箭头方向:
@property (nonatomic, readonly) UIPopoverArrowDirection popoverArrowDirection

3.设置内容大小:
@property (nonatomic) CGSize popoverContentSize

备注:
<1>.如果从一个导航按钮处呈现,使用:
presentPopoverFromBarButtonItem:permittedArrowDirections:animated:;
如果要从一个视图出呈现,使用:
presentPopoverFromRect:inView:permittedArrowDirections:animated:

<2>.如果设备旋转以后,位置定位错误需要在父视图控制器的下面方法里面重新定位:
didRotateFromInterfaceOrientation:(在这个方法体里面重新设置rect)
然后再次调用:
- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated

原创粉丝点击