类似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/Popover

转载于:https://my.oschina.net/u/2319073/blog/857497

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值