0

次の関数を使用して、self.view を指定された x 軸に移動しています。

func shiftMainContainer(#targetPosition: CGFloat, completion: ((Bool) -> Void)! = nil) {
    UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.5, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
        self.view.frame.origin.x = 300
        println("View should shift")
        }, completion: completion)
}

同じビューの @IBAction ボタンからこの関数を呼び出すと機能しますが、サブビューからデリゲート メソッドを使用して呼び出すと、何も起こりません。println が本来のようにテキストを出力するため、デリゲートが機能することはわかっていますが、最初のシナリオのようにビューがシフトされていません。

サブビューデリゲートから呼び出すと違いがありますか?

誰かが私を正しい方向に向けることができますか? 私は今、一日の大部分をこのために壁に頭をぶつけてきました。

アップデート:-

新しい空のプロジェクトで問題を再現してください。ここでチェックしてください:

https://github.com/EugeneTeh/DelegateAnimateTest

4

1 に答える 1