2017-03-17 108 views
0

我在我的UIView中創建了一個按鈕,但無法弄清楚爲什麼它不工作。相同的代碼在其他UIViews中正常工作。這是我的代碼。我嘗試了使用框架初始化按鈕或使用約束的不同組合,但它沒有區別。Swift 3 UIButton addTarget不工作

override func viewDidLoad() { 
    super.viewDidLoad() 

    let backButton: UIButton = { 
     let button = UIButton() 
     button.setTitle("BACK", for: .normal) 
     button.setTitleColor(Constants.APP_TEXT_COLOR, for: .normal) 
     button.titleLabel?.font = Constants.APP_HEADER_FONT 
     button.backgroundColor = .blue 
     button.translatesAutoresizingMaskIntoConstraints = false 
     button.addTarget(self, action: #selector(pressBackButton(button:)), for: .touchUpInside) 
     return button 
    }() 

    backView.addSubview(backButton) 

    view.addSubview(backgroundView) 

    backgroundView.addSubview(webView) 

    backgroundView.addSubview(backView) 
} 

和我的功能

func pressBackButton(button: UIButton) { 

    print("BUTTON PRESSED") 
} 
+0

嘗試'#selector(YourViewController.pressBackButton(button :) :)' – AtaerCaner

+0

我曾嘗試過,但沒有奏效。 – markhorrocks

回答

3

當我爲我沒有一個backView嘗試改變你的代碼,它工作正常。所以更換

backView.addSubview(backButton) 

self.view.addSubview(backButton) 

我可以看到目前在pressBackButton功能登錄控制檯上按下按鈕。確保你的控制檯視圖沒有被禁用。 shift + command + C顯示控制檯視圖。