2016-08-16 7 views
0

ビューコントローラが画面にロードされたときにアクションを開始するにはどうすればよいですか?View Controllerがロードされたときにアクションを開始する

私は@IBActionで欲しい機能を行うことができたが、私はそれが動作を開始する、アクションが発生するためのボタン押しをしたくないときに、ページのロード

任意の考えは?


class ViewController: UIViewController { 
var progress: KDCircularProgress! 


@IBOutlet weak var Label1: UILabel! 



var LabelText = String() 

var scorestart = 1.0 
var anglepercent = 3.6 


override func viewDidLoad() { 
    super.viewDidLoad() 




    Label1.text = LabelText 

    view.backgroundColor = UIColor(white: 0.22, alpha: 1) 

    progress = KDCircularProgress(frame: CGRect(x: 0, y: 0, width: 200, height: 200)) 
    progress.startAngle = -90 
    progress.progressThickness = 0.2 
    progress.trackThickness = 0.3 
    progress.clockwise = true 
    progress.gradientRotateSpeed = 10 
    progress.roundedCorners = false 
    progress.glowMode = .Forward 
    progress.glowAmount = 0.9 
    progress.setColors(UIColor.yellowColor()) 
    progress.center = CGPoint(x: view.center.x, y: view.center.y + 25) 
    view.addSubview(progress) 
} 

@IBAction func Animate(sender: AnyObject) { 
    progress.angle = Double(scorestart * anglepercent) 
    progress.animateFromAngle(0, toAngle: 270, duration: 2) { 
     completed in 
     if completed { 
      print("animation stopped, completed") 
     } else { 
      print("animation stopped, was interrupted") 
     } 
+0

あなたの試したこととあなたが持つ問題を示す関連コードで質問を更新してください。 – rmaddy

+0

'viewDidLoad'から' @IBAction func Animate ... 'を呼び出します。 'self'を' sender'として使います。そして、関数を大文字にしないでください。 – Grimxn

+0

私はそれをやっているように見えるが動作していないようです viewDidLoadの下で(self)self.animate is not working –

答えて

1

使用: - ここ

基本的な考え方は、あなたのビューがviewWillAppear(animated: Bool)機能までを見ていきます、対応するクラスをロードするたび、それがコードに存在するかどうそれはそれですべてのコードを実行されることです特定のビューがUIに表示される瞬間、viewWillAppear(animated: Bool)のコードブロックが呼び出されます。

class ViewController: UIViewController { 
    var progress: KDCircularProgress! 


    @IBOutlet weak var Label1: UILabel! 



    var LabelText = String() 

    var scorestart = 1.0 
    var anglepercent = 3.6 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     Label1.text = LabelText 

     view.backgroundColor = UIColor(white: 0.22, alpha: 1) 


    } 


override func viewWillAppear(animated :Bool) { 
     super.viewWillAppear(animated) 

     progressActn() 
      //Setting up your progress layer 
     animateActn() 
      //Animating that progress layer 
    } 



@IBAction func Animate(sender: AnyObject) { 
     animateActn() 
    } 

func animateActn(){ 
     progress.angle = Double(scorestart * anglepercent) 
progress.animateFromAngle(0, toAngle: 270, duration: 2) { 
    completed in 
    if completed { 
     print("animation stopped, completed") 
    } else { 
     print("animation stopped, was interrupted") 
    } 
    } 

    } 
func progressActn(){ 

     progress = KDCircularProgress(frame: CGRect(x: 0, y: 0, width: 200, height: 200)) 
     progress.startAngle = -90 
     progress.progressThickness = 0.2 
     progress.trackThickness = 0.3 
     progress.clockwise = true 
     progress.gradientRotateSpeed = 10 
     progress.roundedCorners = false 
     progress.glowMode = .Forward 
     progress.glowAmount = 0.9 
     progress.setColors(UIColor.yellowColor()) 
     progress.center = CGPoint(x: view.center.x, y: view.center.y + 25) 
     view.addSubview(progress) 

} 
} 
関連する問題