iOS 11 헤드 이미지 드롭다운 확대 문제

2174 단어
최근에 머리 밑에 확대된 코드가 iOS11에 있는 프레임이 줄곧 틀린 것을 발견하였다.그래서 적당히 맞췄어요. 과정을 기록해 주세요. 1. 윗부분view 준비하세요.
  lazy var topView:HRDDPersonTopContentView = {

        guard let view = Bundle.main.loadNibNamed("HRDDPersonTopContentView", owner: self, options: nil)?.first as? HRDDPersonTopContentView else {

            return HRDDPersonTopContentView()

        }

        view.frame = CGRect(x: 0, y: 0, width: WIDTH, height:173*GlobalScare)

        return view

    }()

2,viewdidload에tableview의contentInset을 설정
  self.edgesForExtendedLayout = UIRectEdge()

        extendedLayoutIncludesOpaqueBars = true

        if #available(iOS 11.0, *){

            tableView.contentInsetAdjustmentBehavior = .never

        }else{

            automaticallyAdjustsScrollViewInsets = false

        }


        self.tableView.contentInset = UIEdgeInsetsMake(173*GlobalScare, 0, 0, 0)


        self.view.addSubview(self.topView)

        topView.delegate = self

        self.tableView.registerNibWithCell(HRDDPersonArrowTableCell.self)

3、viewWill Layout Subviews에서 콘텐츠 Inset과 위쪽view의 프레임을 다시 설정합니다
  override func viewWillLayoutSubviews() {

        super.viewWillLayoutSubviews()

        self.tableView.contentInset = UIEdgeInsetsMake(173*GlobalScare, 0, 0, 0)

        self.topView.frame = CGRect(x: 0, y: 0, width: WIDTH, height:173*GlobalScare)

    }

4. 스크롤 작업
  func scrollViewDidScroll(_ scrollView: UIScrollView) {

        print(scrollView.frame)

        print(scrollView.contentInset)

        let pointy = scrollView.contentOffset.y

        if pointy < -173*GlobalScare {

            var rect = self.topView.frame //self.tableView.viewWithTag(102)!.frame

            rect.size.height = -pointy

            self.topView.frame = rect

        }

    }

OK, 이렇게 하면 완성됩니다. 여기서 가장 큰 문제는 iOS 11.0의 설정 문제입니다.
extendedLayoutIncludesOpaqueBars = true

        if #available(iOS 11.0, *){

            tableView.contentInsetAdjustmentBehavior = .never

        }else{

            automaticallyAdjustsScrollViewInsets = false

        }

좋은 웹페이지 즐겨찾기