IOS 在iphone中PopoverViewController的使用

本文详细介绍了如何在iOS应用中通过设置弹出视图的背景颜色来实现个性化展示,并通过代码实例展示了如何根据保存的颜色偏好进行颜色调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


@property(nonatomic,retain)PopoverViewController *myPopover;


-(void)popover{

    _myPopover = [[PopoverViewControlleralloc]initWithNibName:@"PopoverViewController"bundle:nil];

    _myPopover.preferredContentSize =CGSizeMake(297,165);

    _myPopover.modalPresentationStyle =UIModalPresentationPopover;

    _myPopover.popoverPresentationController.sourceView =rightButton//rect参数是以view的左上角为坐标原点(00

    _myPopover.popoverPresentationController.sourceRect =rightButton.bounds;//指定箭头所指区域的矩形框范围(位置和尺寸),以view的左上角为坐标原点

//    CGRect frame = CGRectMake(50, 80, 297, 165);

//    myPopover.popoverPresentationController.sourceRect = frame;

    

    _myPopover.popoverPresentationController.permittedArrowDirections =UIPopoverArrowDirectionUp;//箭头方向


    NSMutableArray *saveArr = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"saveColor"];

    if(saveArr.count){

        if([saveArr[0] floatValue] ==0.0){

            _myPopover.popoverPresentationController.backgroundColor = [UIColor colorWithRed:46.0/255.0 green:46.0/255.0 blue:46.0/255.0 alpha:1.0];

        }else{

            _myPopover.popoverPresentationController.backgroundColor = [UIColor whiteColor];

        }

    }else{

        _myPopover.popoverPresentationController.backgroundColor = [UIColor whiteColor];

    }

    _myPopover.popoverPresentationController.delegate = self;

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

}

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controlle

{

    

    return UIModalPresentationNone;

}


PopoverViewController.m  中完成布局及设置

    self.popoverView.frame =CGRectMake(50,80, 297, 165);

一个很好的博客链接加在这里:http://blog.youkuaiyun.com/heng615975867/article/details/43967403

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值