2017-05-22 8 views
0

ユーザーがステーションを追加するためにクリックするアプリケーションから作業中です。そこからポップアップウィンドウが表示され、ユーザーに適切な情報を要求すると、UIViewはアニメーション表示されますが、内部から作業するには問題がありますその別のファイル。クラスファイル内からUIViewをアニメーション化する方法は?

ここに、Animations.swiftファイルのコードを示します。ここ

import Foundation 
import UIKit 

class Animations: UIView { 

    func animatePopUpIn(view: UIView, controller: UIViewController) { 

     controller.view.addSubview(view) 
     view.center = center 

     view.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3) 
     view.alpha = 0 

     UIView.animate(withDuration: 0.4) { 
      controller.view.alpha = 1 
      controller.view.transform = CGAffineTransform.identity 
     } 

    } 

}

StationController.swiftファイルのコードです。

import UIKit 

class StationController: UIViewController { 

    @IBOutlet var addStationView: UIView! 
    var animation = Animations() 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     navigationItem.title = "Stations" 
    } 

    @IBAction func addStationTapped(_ sender: Any) { 

     animation.animatePopUpIn(view: addStationView, controller: self) 
     print("Displayed Pop Up") 
    } 


    @IBAction func dismissPopUpTapped(_ sender: Any) { 


    } 


} 

何かの理由で、addStationTappedをタップしても何も表示されません。どのようなヘルプも素晴らしい方法です。私はこの方法でクラスを扱うのがかなり新しいです。前もって感謝します。

+0

本当にこのクラスが必要ですか? –

+0

ビュー(表示)にはどの程度のサイズがありますか? IBでどのように作成しますか?私はほとんどそれがゼロサイズを持っていると確信しています。 –

+0

UIのデバッグ - ビュー階層に新しいXcodeツールを使用できます。 –

答えて

0

もっと良い方法は、別個のviewcontrollerを作成し、それをポップオーバーとして追加することです。サードパーティのクラスを使用したり、手動でView Controllerをポップとして追加することができます。手動で追加する場合は、私は助けることができます。

関連する問題