ios popover

popover (iphone && ipad)


_setVC 为设置界面;

添加 <UIPopoverPresentationControllerDelegate>;

- (void)leftBtnClick:(UIButton*)sender{


    if(_setVC) {

        [self dismissViewControllerAnimated:YES completion:nil];

        _setVC=nil;

    }

    _setVC = [[ASettingViewController alloc] init];

    [_setVC setDelegate:self];

    //设置弹出的样式为popover

    _setVC.modalPresentationStyle = UIModalPresentationPopover;

    //设置弹出控制器的尺寸

    _setVC.preferredContentSize = CGSizeMake(120, 120);

    //设置popoverPresentationController的sourceRect和sourceView属性

    _setVC.popoverPresentationController.sourceRect = sender.bounds;

    _setVC.popoverPresentationController.sourceView = sender;

    //设置箭头方向

    _setVC.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;

    //设置背景色,包括箭头

    _setVC.popoverPresentationController.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.5];

    _setVC.popoverPresentationController.delegate = self;

    //弹出

    [self presentViewController:_setVC animated:YES completion:nil];

}


#pragma mark - UIPopoverPresentationControllerDelegate

//实现该代理方法,返回UIModalPresentationNone值,可以在iPhone设备实现popover效果

-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController*)controller{

    return UIModalPresentationNone;//不适配(不区分ipad或iPhone)

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容