UIPopoverController

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];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值