팝업 상자 UIPopoverPresentationController

2175 단어
작은 뾰족한 각도 그리기 so easy
팝업 관련 코드, 당연하죠. 클릭 이벤트 실현 방법에 적혀있어요.
  • 홈Vc는 모드를 담당하는 부Vc이다
  • 용기 Vc를 게으름 피우고 코드에self라고 합니다.콘텐츠 Vc, 팝업 상자 안의 보기 내용을 용기 Vc에 쓰기
  • _popOver는 속성 @property(nonatomic,strong)UIPopoverPresentationController*popOver;공간 비활성화
  • 4. 대리 서명
    @interface NADiscoveryCollectionViewCell ()
    

    대응하는 네 가지 대리 방법이 있는데, 바로 나타나는 각 시기에 나는 두 가지를 썼으니, 다시 스스로 눌러서 보아야 한다.
    NADiscoveryViewController *homeVc = (NADiscoveryViewController *)self.nextResponder.nextResponder.nextResponder;
    
    //  vc  
     self.contentVc.preferredContentSize = CGSizeMake(SCREEN_WIDTH / 2, 75 * SCALE_HEIGHT);
    self.contentVc.modalPresentationStyle = UIModalPresentationPopover;
    
    _popOver.backgroundColor = [UIColor whiteColor];
    _popOver = self.contentVc.popoverPresentationController;
    _popOver.delegate = self;
    
    //                 
    _popOver.sourceView = _leftTopView;
    _popOver.sourceRect = _leftTopView.labelOfTitle.frame;
    
    //       navigationItem    
    //_popover.barButtonItem = sender;
    
    //    
    _popOver.permittedArrowDirections = UIPopoverArrowDirectionUp;
    
    //  vc    tableView,          
    self.contentVc.mArrOfData = @[@"    ", @"    "].mutableCopy;
    
    //      
    [homeVc presentViewController:self.contentVc animated:YES completion:nil];
    

    세 가지 대리 방법
    #pragma mark   UIPopoverPresentationControllerDelegate
    //            ,    UIModalPresentationNone。
    - (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller{
        return UIModalPresentationNone;
    }
    
    //          
    - (void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController *)popoverPresentationController{
        if(_leftIsOpen){
        
            _leftIsOpen = !_leftIsOpen;
            [self closeLeft];
        }
    
        else if (_rightIsOpen){
        
            _rightIsOpen = !_rightIsOpen;
            [self closeRight];
        }
    
    }
    
    //        ,   yes;
    //- (BOOL)popoverPresentationControllerShouldDismissPopover:(UIPopoverPresentationController *)popoverPresentationController{
    //    return YES;
    //}
    

    좋은 웹페이지 즐겨찾기