当前位置:主页 > 移动开发 > iOS代码 >

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

时间:2021-03-14 09:49:01 | 栏目:iOS代码 | 点击:

创建PopViewControlller

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

//重置控制器的大小 
-(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中需要使用到得地方添加类似的代码

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]; 
 }; 

您可能感兴趣的文章:

相关文章