创建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]; };
以上所述是小编给大家介绍的iOS使用自带的UIViewController实现qq加号下拉菜单的功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!