2016-12-17 62 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