- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor grayColor]; UIImage *image = [[UIImage alloc]init]; image = [UIImage imageNamed:@"navigationItem_menu"]; UIButton *rightBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 15, 15)]; [rightBtn setImage:image forState:UIControlStateNormal]; [rightBtn addTarget:self action:@selector(PopView:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *settingBtnItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn]; self.navigationItem.rightBarButtonItem = settingBtnItem; } -(void)PopView:(UIButton *)sender{ PopoverView *popoverView = [PopoverView popoverView]; popoverView.showShade = YES; // 顯示陰影背景 [popoverView showToView:sender withActions:[self QQActions]]; } - (NSArray<PopoverAction *> *)QQActions { // 發起多人聊天 action PopoverAction *multichatAction = [PopoverAction actionWithImage:[UIImage imageNamed:@"right_menu_multichat"] title:@"發起多人聊天" handler:^(PopoverAction *action) { #pragma mark - 該Block不會致使內存泄露, Block內代碼無需刻意去設置弱引用. QQTalkViewController *view = [[QQTalkViewController alloc]init]; [self.navigationController pushViewController:view animated:YES]; }]; // 加好友 action PopoverAction *addFriAction = [PopoverAction actionWithImage:[UIImage imageNamed:@"right_menu_addFri"] title:@"加好友" handler:^(PopoverAction *action) { AddFriendViewController *view = [[AddFriendViewController alloc]init]; [self presentViewController:view animated:YES completion:^{ }]; }]; // 掃一掃 action PopoverAction *QRAction = [PopoverAction actionWithImage:[UIImage imageNamed:@"right_menu_QR"] title:@"掃一掃" handler:^(PopoverAction *action) { // do something! }]; // 面對面快傳 action PopoverAction *facetofaceAction = [PopoverAction actionWithImage:[UIImage imageNamed:@"right_menu_facetoface"] title:@"面對面快傳" handler:^(PopoverAction *action) { // do something! }]; // 付款 action PopoverAction *payMoneyAction = [PopoverAction actionWithImage:[UIImage imageNamed:@"right_menu_payMoney"] title:@"付款" handler:^(PopoverAction *action) { // do something! }]; return @[multichatAction, addFriAction, QRAction, facetofaceAction, payMoneyAction]; }
git地址:https://github.com/lifution/Popovergit