您的位置:首页 > 产品设计 > UI/UE

UIPopoverController

2013-12-03 14:16 232 查看
if (popOver == nil) {

popOver = [[UIPopoverController alloc] initWithContentViewController:viewVC];

}

popOver.popoverContentSize = CGSizeMake(200, 200);

[popOverpresentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItempermittedArrowDirections:UIPopoverArrowDirectionUpanimated:YES];

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

在使用该控制器的时候,下面几个步骤是必须的:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: