2016-12-17 10 views
0

添付されている画像にサブクラスを表示して、自分のHOMEボタンを作成しています。 HOMEボタンが付いたVCがたくさんあり、それらをすべてこのクラスに接続して、それらをすべてユーザーに送信したいと思っています。私のIBActionはどうやって接続していませんか?

これまでのところ、このクラスを取るためにボタンを画像に示しました。私の問題は私がここに私のIBActionを接続することができない理由と確信していない理由は誰も私が私のIBAction機能をボタンに今接続することができない理由について私に教えることができます...

もう一つ混乱していることは、ボタンのこのスタックビューの他のボタンをクラスに与えていないにもかかわらず、実際にこのスタックビューの他のボタンを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) 
    } 
} 

私は単純にHOMEボタンがあります各VCに移動し、それぞれからIBActionを作成し、そこにこのコードを貼り付け、それが動作することを承知しているが、私は希望同じコードを繰り返す必要がない別の方法でこれをやりたいのですが....これを実現するためには何が必要かを知りたいと思います。

+1

基本使用してビューコントローラを提示することはできません。self.presentViewControllerを... –

+0

私はibactionをドラッグすると、それは私がリンクさせない理由の任意のアイデア強調表示されたボタンには、私はそのスタックビュー内の他のすべてのボタンにリンクすることができますか? –

+1

まず、コードを表示するために画像を使用しないでください。第二に、IBActionをドラッグするとどういう意味ですか? Interface Builderのボタンにコード内のIBActionを接続することについて話していますか?もしそうなら、私はあなたがXcode 8の下で私の知る限りではないと思う。 –

答えて

3

エラーは、View Controllerを表示するプロパティを持たないUIButtonのクラスを使用しているためです。 UIViewControllerまたは他のタイプのいずれかに提示する必要があります。

それがリンクアップしているが、あなただけの自己(UIButton)

+0

こんにちはTrever。ありがとう、私は最初の文を理解しています。私は2番目の文に混乱しています。もう少し詳しく説明するのはとても親切ですか? –

+0

UIButtonには現在呼び出すメソッドはありません。これらは基本的にUIViewControllerやUITableViewControllerなどのために予約されています。 – trever

関連する問題