2016-08-16 48 views
0

如何在视图控制器加载屏幕时启动操作?查看控制器加载时启动操作

我已经成功地做我想做与@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

无论我似乎在做什么似乎并不工作 self.animate(self)viewDidLoad下不工作 –

回答

1

用途: -

基本这里的想法是,只要你的观点将加载相应的类将查找到viewWillAppear(animated: Bool)功能,如果它存在于它的代码将在它执行所有的代码当特定视图即将出现在您的用户界面上时,您的代码块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) 

} 
}