UIPopoverController

原创 2015年11月19日 08:39:57

MIN(A,B):
大小取决于B, 但最大不超过A, chaoguoA则其值为A
UIpopoverController是只适用于IPad的空间, 需要在devices中将设备改为IPad, 该控件适用于iOS3.2 ~ 9.0版本
效果图:
如图

  1. 签协议, UIPopoverControllerDelegate,
@property(nonatomic, strong)UIPopoverController *popOver;

初始化内容视图:

    UIViewController *contentVC = [[UIViewController alloc] init];

上代码:

//  初始化方法
    self.popOver = [[UIPopoverController alloc] initWithContentViewController:contentVC];
    self.popOver.popoverContentSize = CGSizeMake(300, 600);
    self.popOver.delegate = self;

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(BarButtonAction:)];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button setTitle:@"button" forState:UIControlStateNormal];
    button.backgroundColor = [UIColor purpleColor];
    button.frame = CGRectMake(100, 100, 100, 50);
    [self.view addSubview:button];
    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

    UIButton *Abutton = [UIButton buttonWithType:UIButtonTypeSystem];
    [Abutton setTitle:@"Abutton" forState:UIControlStateNormal];
    Abutton.backgroundColor = [UIColor purpleColor];
    Abutton.frame = CGRectMake(300, 100, 100, 50);
    [self.view addSubview:Abutton];
    [Abutton addTarget:self action:@selector(AbuttonAction:) forControlEvents:UIControlEventTouchUpInside];

    //  点击数组内的视图, 弹出窗口不会消失
    self.popOver.passthroughViews = @[Abutton];

方法:

#pragma mark    - popOverDelegate
//  发生改变的时候
- (void)popoverController:(UIPopoverController *)popoverController willRepositionPopoverToRect:(inout CGRect *)rect inView:(inout UIView *__autoreleasing  _Nonnull *)view {
    NSLog(@"变形");
}
//  消失
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
    NSLog(@"消失");
}
//  点击空白消失, 默认为YES
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController {
    NSLog(@"~消失");
    return YES;
}

- (void)buttonAction:(UIButton *)button {

    //  第二种显示方法
    [self.popOver presentPopoverFromRect:button.bounds inView:button permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}

- (void)BarButtonAction:(UIBarButtonItem *)button {

    //  第一种显示方法
    [self.popOver presentPopoverFromBarButtonItem:button permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS开发:一个关于UIPopoverController设置contentsize大小的问题

今天第一次用了UIPopoverController这个类,但是在设置大小的时候出现了一个问题,先把代码贴出来: - (void)popoverView {     UIView...
  • baxiaxx
  • baxiaxx
  • 2012年08月10日 11:29
  • 3443

Iphone中的UIPopoverController

前言UIPopoverController这个东西在9.0之后就只属于Ipad了,取而代之的是使用UIModalPresentationPopover 。下面以Storyboard的形式实现Iphon...
  • u011660331
  • u011660331
  • 2016年04月01日 14:32
  • 1237

UIPopOverController的使用问题

今天不经意间发现了UIPopOverController的使用,使用iphone模拟器会出现Crash crash的原因如下: 'NSInvalidArgumentException', reas...
  • m372897500
  • m372897500
  • 2016年05月26日 14:39
  • 510

iOS UIPopoverController的使用

UIPopoverController只能在ipad设备上面使用;作用是用于显示临时内容,特点是总是显示在当前视图最前端,当单击界面的其他地方时自动消失。  UIViewController* vC...
  • zhaopenghhhhhh
  • zhaopenghhhhhh
  • 2014年05月06日 15:11
  • 3043

UIPopoverController使用详解

一、引言         UIPopoverController是Pad设备中常用的一种视图控制器,其在UI表现上为在当前视图控制器上面弹出一个子视图控制器,通常用来展示交互列表。示例如下图: ...
  • st646889325
  • st646889325
  • 2016年12月08日 09:03
  • 769

iOS UIPopOverController的使用问题

iOS UIPopOverController的使用问题 今天不经意间发现了UIPopOverController的使用,使用iphone模拟器会出现Crash crash的原因如下: 'N...
  • gloryFlow
  • gloryFlow
  • 2012年11月30日 16:42
  • 2311

UIPopoverController 的使用方法 Ipad

1、初始化UIPopoverController     UIPopoverController *popover = [[UIPopoverController alloc]initWit...
  • ch_soft
  • ch_soft
  • 2011年09月08日 13:59
  • 3258

UIPopoverController

先看他的继承关系,UIPopoverController是直接继承自NSObject,它和UIViewController没有关系.那它是怎么实现弹出在所有View之上的,我猜测是利用了keywind...
  • leewolf130
  • leewolf130
  • 2013年12月23日 15:53
  • 1464

iOS9 UIPopoverViewController

报错信息:'UIPopoverController' is deprecated: first deprecated in iOS 9.0 - UIPopoverController is depre...
  • caohrong
  • caohrong
  • 2015年11月04日 18:24
  • 78

UIPopoverController for iPad

1:通过ViewController初始化 popoverColorPicker = [[UIPopoverController alloc] initWithContentViewControll...
  • ysy441088327
  • ysy441088327
  • 2012年05月10日 11:51
  • 1030
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIPopoverController
举报原因:
原因补充:

(最多只允许输入30个字)