カスタムビューコントローラの遷移xcode8

Vah.Sah

このチュートリアルに従って、カスタムビュー遷移を作成しようとしていますこれが私のコードです

class ItemsTableViewController: UITableViewController, UIViewControllerTransitioningDelegate {

let customPresentAnimationController = CustomPresentAnimationController()

// viewDidLoad and TableView methods

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showAction" {
        let toViewController = segue.destination as UIViewController
        toViewController.transitioningDelegate = self
        toViewController.modalPresentationStyle = .custom
    }
}

func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    return customPresentAnimationController
}

}

およびCustomPresentAnimationControllerの場合

class CustomPresentAnimationController: NSObject, UIViewControllerAnimatedTransitioning {

func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
    return 5
}

func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {

    let fromViewController = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.from)!
    let toViewController = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.to)!
    let finalFrameForVC = transitionContext.finalFrame(for: toViewController)
    let containerView = transitionContext.containerView
    let bounds = UIScreen.main.bounds
    toViewController.view.frame = finalFrameForVC.offsetBy(dx: 0, dy: bounds.size.height)
    containerView.addSubview(toViewController.view)

    UIView.animate(withDuration: transitionDuration(using: transitionContext), delay: 0.0, usingSpringWithDamping: 0.5, initialSpringVelocity: 0.0, options: .curveLinear, animations: {
        fromViewController.view.alpha = 0.5
        toViewController.view.frame = finalFrameForVC
        }, completion: {
            finished in
            transitionContext.completeTransition(true)
            fromViewController.view.alpha = 1.0
    })
}

}

ただし、カスタム遷移は機能しません。問題は、animationControllerForPresentedControllerメソッドが呼び出されないことです。どうすればこれを修正できますか?

Vah.Sah

迅速な3では方法

func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return customPresentAnimationController
}

に置き換えられました

func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    return customPresentAnimationController
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ナビゲーションコントローラーのカスタム遷移アニメーション

分類Dev

Xcode8ストーリーボードビューコントローラーすべて青色の背景

分類Dev

UINavigationControllerDelegateメソッド、iOS8のナビゲーションコントローラーを使用したカスタム遷移

分類Dev

ビューコントローラ間の遷移方向

分類Dev

2つのビュー間のカスタム循環遷移

分類Dev

ビューコントローラの遷移のデバッグ

分類Dev

カスタムモーダル解雇遷移後、最初のビューコントローラのライフサイクルメソッドは呼び出されません

分類Dev

カスタム入力ビューコントローラー

分類Dev

Emberビュー用のカスタムコントローラーの取得

分類Dev

複数のビュー1ビューコントローラの遷移アニメーション

分類Dev

xcode8インターフェイスビルダーにiAdバナービューコントロールが見つかりません

分類Dev

iOS:ivarとしてのカスタムビューコントローラー

分類Dev

カスタムビューのコントローラーでカスタムIBActionを作成する

分類Dev

カスタムの遷移アニメーションを閉じる代わりに、デフォルトのアニメーションを使用してモーダルビューコントローラを閉じるにはどうすればよいですか?

分類Dev

スプリットビューコントローラー-カスタムUITableViewCell

分類Dev

2タブビューコントローラでのカスタムタブバーの位置の変更

分類Dev

ビューコントローラの背景にカスタムカラーを設定する方法

分類Dev

カスタムコントロールをプログラムでAutoLayoutビューの中央に配置する

分類Dev

Xcode8ベータ版のカスタムキーボードストーリーボード

分類Dev

2つのビューコントローラを提示しますが、遷移は1つだけです

分類Dev

XCode8ベータドキュメントの生成

分類Dev

カスタムビューコントローラクラスがストーリーボードのクラスメニューに表示されない

分類Dev

UIStoryboardのiOS8カスタムタブバーコントローラー

分類Dev

共有拡張機能のカスタムビューコントローラーを閉じる

分類Dev

ストーリーボードセグエを使用しないカスタムビュー遷移(Swift)

分類Dev

ページビューコントローラー:カスタムページスライダー

分類Dev

カスタムセル画像ビュー画像を新しいビューコントローラに渡す

分類Dev

カスタムセルからビューコントローラへの単純なセグエ

分類Dev

Xcode8の画面で自動レイアウトの問題を引き起こすナビゲーションコントローラー

Related 関連記事

  1. 1

    ナビゲーションコントローラーのカスタム遷移アニメーション

  2. 2

    Xcode8ストーリーボードビューコントローラーすべて青色の背景

  3. 3

    UINavigationControllerDelegateメソッド、iOS8のナビゲーションコントローラーを使用したカスタム遷移

  4. 4

    ビューコントローラ間の遷移方向

  5. 5

    2つのビュー間のカスタム循環遷移

  6. 6

    ビューコントローラの遷移のデバッグ

  7. 7

    カスタムモーダル解雇遷移後、最初のビューコントローラのライフサイクルメソッドは呼び出されません

  8. 8

    カスタム入力ビューコントローラー

  9. 9

    Emberビュー用のカスタムコントローラーの取得

  10. 10

    複数のビュー1ビューコントローラの遷移アニメーション

  11. 11

    xcode8インターフェイスビルダーにiAdバナービューコントロールが見つかりません

  12. 12

    iOS:ivarとしてのカスタムビューコントローラー

  13. 13

    カスタムビューのコントローラーでカスタムIBActionを作成する

  14. 14

    カスタムの遷移アニメーションを閉じる代わりに、デフォルトのアニメーションを使用してモーダルビューコントローラを閉じるにはどうすればよいですか?

  15. 15

    スプリットビューコントローラー-カスタムUITableViewCell

  16. 16

    2タブビューコントローラでのカスタムタブバーの位置の変更

  17. 17

    ビューコントローラの背景にカスタムカラーを設定する方法

  18. 18

    カスタムコントロールをプログラムでAutoLayoutビューの中央に配置する

  19. 19

    Xcode8ベータ版のカスタムキーボードストーリーボード

  20. 20

    2つのビューコントローラを提示しますが、遷移は1つだけです

  21. 21

    XCode8ベータドキュメントの生成

  22. 22

    カスタムビューコントローラクラスがストーリーボードのクラスメニューに表示されない

  23. 23

    UIStoryboardのiOS8カスタムタブバーコントローラー

  24. 24

    共有拡張機能のカスタムビューコントローラーを閉じる

  25. 25

    ストーリーボードセグエを使用しないカスタムビュー遷移(Swift)

  26. 26

    ページビューコントローラー:カスタムページスライダー

  27. 27

    カスタムセル画像ビュー画像を新しいビューコントローラに渡す

  28. 28

    カスタムセルからビューコントローラへの単純なセグエ

  29. 29

    Xcode8の画面で自動レイアウトの問題を引き起こすナビゲーションコントローラー

ホットタグ

アーカイブ