2015-01-27 54 views
1

我發現我有兩種方法來設置按鈕初始「啓用」屬性值。第一個:實用程序 - >按鈕 - >狀態配置。第二個是內部ViewController.swift覆蓋方法viewWillAppear設置按鈕的初始狀態的兩種方式之間的區別

import UIKit 

    class ViewController: UIViewController { 

     @IBOutlet weak var myButton: UIButton! 

     override func viewDidLoad() { 
      super.viewDidLoad() 
      // Do any additional setup after loading the view, typically from a nib. 
     } 

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

     // RIGHT HERE 
     override func viewWillAppear(animated: Bool) { 

      myButton.enabled = true 
     } 
} 

那麼,有沒有實際的區別嗎?或者最後他們是一樣的?

謝謝。

+0

兩者都給出相同的結果。 – 2015-01-27 00:57:33

回答

0

通過Interface Builder配置屬性時,執行配置的任務由讀取相應故事板或NIB文件的庫執行。這是在處理接口描述文件的內容時完成的,而不必編寫任何其他代碼。

當您通過重寫viewWillAppear方法來配置屬性時,配置在您的代碼中執行。

一旦執行配置,就無法區分兩者:結果看起來相同,因爲按鈕處於相同狀態。一個常見的經驗法則如下:

  • 當您直觀地定義UI元素時,應儘可能在編輯器中設置儘可能多的屬性。
  • 當您直觀地定義UI元素,但在設計時不知道該屬性的值(例如,因爲在決定是否啓用按鈕之前需要檢查文件),您需要配置該屬性編程。
  • 以編程方式定義UI元素時,除了以編程方式設置屬性外,別無選擇。
相關問題