iOS使用自带的UIViewController实现qq加号下拉菜单的功能(实例代码)

时间:2022-09-19 23:01:07

创建PopViewControlller

在tableview中创建一个tableview用于显示菜单

?
1
2
3
4
5
6
7
8
9
10
11
12
//重置控制器的大小
-(CGSize)preferredContentSize{
 if (self.popoverPresentationController != nil) {
  CGSize tempSize ;
  tempSize.height = self.view.frame.size.height;
  tempSize.width = 150;
  CGSize size = [_tableVIew sizeThatFits:tempSize];
  return size;
 }else{
  return [super preferredContentSize];
 }
}

在viewcontroller中需要使用到得地方添加类似的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
environmentView.addMenuCallBack = ^(UIButton *sender){
  // 设置大小
  weakPopView.preferredContentSize = CGSizeMake(120, 150);
  // 设置 Sytle
  weakPopView.modalPresentationStyle = UIModalPresentationPopover;
  // 需要通过 sourceView 来判断位置的
  weakPopView.popoverPresentationController.sourceView = sender;
  //可以指示小箭头颜色
  weakPopView.popoverPresentationController.backgroundColor = [UIColor whiteColor];
  // 设置指示箭头的位置
  weakPopView.popoverPresentationController.sourceRect = CGRectMake(0, 0, sender.frame.size.width*3/4, sender.frame.size.height);
  // 箭头方向
  weakPopView.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
  // 设置代理
  weakPopView.popoverPresentationController.delegate = weakSelf;
  [weakSelf presentViewController:weakPopView animated:YES completion:nil];
 };

以上所述是小编给大家介绍的iOS使用自带的UIViewController实现qq加号下拉菜单的功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/cjh16102377/article/details/71629775