2016-08-29 19 views
0

このコードには、青色のボックスがクリックされるとボタンが大きくなります。ボタンを押したときに大きな赤いボックスから青い小さなボックスに移動するように、コードを書く方法を教えてください。ありがとう。ボタンを押したときのカラービューの変更方法は? (スウィフト)

import UIKit 

class ViewController: UIViewController { 

    let colorview = UIView() 
    var initialc = [NSLayoutConstraint]() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     colorview.translatesAutoresizingMaskIntoConstraints = false 
     colorview.backgroundColor = UIColor.blueColor() 
     self.view.addSubview((colorview)) 

     let leadingc = colorview.leadingAnchor.constraintEqualToAnchor(self.view.leadingAnchor) 
     let trailingC = colorview.trailingAnchor.constraintEqualToAnchor(self.view.trailingAnchor) 
     let topc = colorview.topAnchor.constraintEqualToAnchor(self.view.topAnchor) 
     let bottomc = colorview.bottomAnchor.constraintEqualToAnchor(self.view.bottomAnchor, constant: -50) 

     initialc.appendContentsOf([leadingc,trailingC,topc,bottomc]) 
     NSLayoutConstraint.activateConstraints(initialc) 


    } 
    @IBAction func changethebleep(sender: AnyObject) { 

     NSLayoutConstraint.deactivateConstraints(initialc) 

     let widthc = colorview.widthAnchor.constraintEqualToConstant(100) 
     let heightc = colorview.heightAnchor.constraintEqualToConstant(100) 
     let centerxc = colorview.centerXAnchor.constraintEqualToAnchor(self.view.centerXAnchor) 
     let centeryc = colorview.centerYAnchor.constraintEqualToAnchor(self.view.centerYAnchor) 

     NSLayoutConstraint.activateConstraints([widthc,heightc,centerxc,centeryc]) 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

答えて

0

自分で解決できるかどうかを確認してください。 viewDidLoadメソッドは、colorviewの初期設定を設定しています。

colorviewbackgroundColorプロパティを青に設定するコードがviewDidLoadにあります。式UIColor.blueColor()を使用します。

赤の同等表現はUIColor.redColor()です。 colorviewの開始色を赤に変更する方法がわかりますか。

あなたのchangethebleepメソッドでは、あなたのcolorviewの制約を変更するために幾分奇妙なコードがあります。それはうまくいくので、おそらくそれをそのまま残しましょう。

viewDidLoadのcolorview.backgroundColorを青に設定して、changethebleepメソッドに貼り付けることができます。

ところで、メソッド名と変数名は、最初の文字は小文字で、その後の各単語の先頭は大文字にする必要があります。だからchangethebleepは本当にchangeTheBleepとなり、colorviewcolorViewになるはずです。それはあなたのコードの機能を変更することはありませんが、Swift(そしてObjective-Cでも同様です)の強い命名規則です。

関連する問題