2016-12-17 56 views
0

所以在我附加的圖像中,我顯示了我爲我的HOME按鈕創建的子類。我有一個HOME按鍵很多風投,我想將它們連接到這個類來讓他們都向用戶發送HOME我的IBAction怎麼沒有連接?

到目前爲止,我做我的按鈕藉此類,如在圖像中。我的問題是我無法連接我的IBAction在這裏,不知道爲什麼....會很感激任何提示,任何人都可以告訴我爲什麼我無法將我的IBAction功能連接到按鈕上,現在....

另一個令人困惑的事情是,雖然我沒有給出任何其他按鈕在這個按鈕的堆棧視圖類,我實際上能夠連接我的這個stackview中的任何其他按鈕到我的IBAction ...哪我覺得很奇怪。

enter image description here

class HomeButton: UIButton { 
    @IBAction func showHomeVC(sender: AnyObject) { 
     var sb: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     var vc: UINavigationController = sb.instantiateViewController(withIdentifier: "HomeNC-ID") as! UINavigationController 
     self.present(vc, animated: false, completion: nil) 
    } 
} 

我知道,我可以簡單地去各個VC那裏是一個HOME按鈕,並從各創建一個IBAction爲,只是粘貼有該代碼,它會工作,但我會喜歡以另一種方式做到這一點,我不需要重複那麼多相同的代碼....我想知道需要做出什麼改變才能實現這一點。

+1

基礎:self.presentViewController ... –

+0

任何想法,爲什麼當我拖動IBAction爲它不會讓我的鏈接到突出顯示的按鈕,但它可以讓我鏈接到該堆棧視圖中的所有其他按鈕? –

+1

首先,不要使用圖片來顯示您的代碼。其次,通過拖動IBAction,你的意思是什麼?您是否在談論將代碼中的IBAction連接到Interface Builder中的按鈕?如果是這樣,我不認爲你可以根據我的知識在Xcode 8下編譯。 –

回答

3

您所得到的錯誤是因爲你使用的是類的UIButton的不具有顯示視圖控制器的性能。您應該將其呈現在UIViewController或其他類型之一上。

它與起來,但你不能提出一個使用視圖控制器自(UIButton的)

+0

你好Trever。謝謝.....好的,我明白了第一句話。然而,我對第二句話感到困惑。你會如此善意地闡述一點嗎? –

+0

當然! UIButton沒有調用存在的方法,它們被保留用於像UIViewController或UITableViewController等基本上用於Views的東西。 – trever