Iphone中的UIPopoverController

前言

UIPopoverController这个东西在9.0之后就只属于Ipad了,取而代之的是使用UIModalPresentationPopover 。下面以Storyboard的形式实现Iphone中UIModalPresentationPopover的使用。


环境

Xcode: Ver7.2.1
IOS:9.2


效果图

这里写图片描述


Storyboard设定

这里写图片描述


代码

- (IBAction)popoverButtonPressed:(id)sender {

    [self performSegueWithIdentifier:@"PopSegue" sender:self];
}


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"PopSegue"]) {
        UIViewController *controller = segue.destinationViewController;
        // 设置Controller尺寸
        controller.preferredContentSize = CGSizeMake(100, 300);

        UIPopoverPresentationController *popController = controller.popoverPresentationController;

        // 设置箭头的“尖儿”所指向的位置
        popController.sourceRect = CGRectMake(0, 50, 100, 0);
        if (popController) {
            popController.delegate = self;
        }
    }
}

// UIPopoverPresentationControllerDelegate中的代理方法,当前controller需要遵守此协议
-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
{
    // 设置弹出的样式
    return UIModalPresentationNone;
}

结束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章