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;
}

結束

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