創建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加號下拉菜單的功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答