>
내 응용 프로그램에서 override func viewDidLayoutSubviews() 에서 뷰를 아래에서 위로 애니메이션으로 만들고 싶습니다. . 지금 까지이 방법을 수행하여 뷰를 맨 아래에서 전달했지만 다른 장치에서는 다른 UI를 표시합니다. UIView 전환이 작동하지만보기가 아래쪽에서 완전히 전환되지 않고 iPhone XS가 필요합니다. 지금까지이 두 가지 방법을 수행했습니다.

첫 단계:

   let currentFrame = self.animationVIew.frame
    self.animationVIew.frame = CGRect(x: 0, y: self.view.frame.height, width: currentFrame.size.width, height: currentFrame.size.height)
    UIView.animate(withDuration: 1.0) {
        self.animationVIew.frame = currentFrame
        self.loadViewIfNeeded()
    }

두 번째 단계:

UIView.transition(with: animationVIew,
                      duration: 0.5,
                      options: [.transitionFlipFromBottom],
                      animations: {
    },
    completion: nil)

그러나 두 가지 방법 모두 동일한 문제에 직면하고 있습니다. 운이 없어 !!


  • 답변 # 1

    내가 실수로 그것을 해결하기 위해 올바른 방식으로 생각하지 않았다. 방금 현재 autolayout 를 변경했습니다.  이 문제는 animationView 간의 제약으로 인해 발생했습니다.  그리고 topView . 이 두 뷰 사이의 거리 제약이 해결되었으므로 애니메이션이 발생할 때 animationView 크기를 조정 한 이유  내 솔루션은 애니메이션 뷰 높이 제약 조건을 고정시키고 우선 순위를 변경했습니다.   required 로   low 간의 거리 제한  그리고 animationView  스토리 보드에서

    topView

  • 이전 scala - Spark Dataframe의 여러 열을 외부 API로 보내고 결과를 별도의 열에 저장
  • 다음 php - 데이터베이스에 삽입하기 전에 데이터가 특정 조건을 충족하는지 확인하는 방법