UIPopoverController

UIPopoverController只能跑在iPad上

  • (IBAction)click:(id)sender;
    @property (nonatomic,strong) UIPopoverController *popOver;

@end

@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(barClick)];

    TQTableViewController *tableViewVC = [[TQTableViewController alloc] initWithStyle:UITableViewStylePlain];
    self.popOver = [[UIPopoverController alloc] initWithContentViewController:tableViewVC];

    //改變彈出框的大小
    self.popOver.popoverContentSize = CGSizeMake(200, 200);
    }

  • (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

//vc變成彈出框
-(void)barClick
{
warning 8.0之前

//在導航條按鈕附近彈出
//[self.popOver presentPopoverFromBarButtonItem:self.navigationItem.rightBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

warning 8.0之後

tableViewVC = [[TQTableViewController alloc] init];

tableViewVC.block = ^(UIColor *color)
{
    self.view.backgroundColor = color;

    [tableViewVC dismissViewControllerAnimated:YES completion:nil];
};

//改變彈出視圖的樣式爲Popover
tableViewVC.modalPresentationStyle = UIModalPresentationPopover;
//彈出框的大小
tableViewVC.preferredContentSize = CGSizeMake(200, 200);
//設置顯示的按鈕
tableViewVC.popoverPresentationController.barButtonItem = self.navigationItem.rightBarButtonItem;
//設置彈出框在哪個view中顯示
tableViewVC.popoverPresentationController.sourceView = self.view;
//設置箭頭的方向
tableViewVC.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionAny;
//彈出當前VC
[self presentViewController:tableViewVC animated:YES completion:nil];

}

  • (IBAction)click:(UIButton *)sender {
    warning 8.0之前

    //在指定的frame附近彈出
    // [self.popOver presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

warning 8.0之後

TQTableViewController *tableViewVC = [[TQTableViewController alloc] init];
tableViewVC.modalPresentationStyle = UIModalPresentationPopover;

tableViewVC.preferredContentSize = CGSizeMake(200, 200);

tableViewVC.popoverPresentationController.sourceRect = sender.frame;

tableViewVC.popoverPresentationController.sourceView = self.view;

tableViewVC.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionAny;

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

}

發佈了83 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章