相似QQ右上角選項彈框

- (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

相關文章
相關標籤/搜索