1

如果我们使用 Interface Builder 在 .xib 文件中创建 UIButton 更好的方法是什么,是使用 IBAction 方法来定义其 Action Method 和所需的 Control Event 更好,还是应该使用

[UIButton addTarget:action: forControlEvents:] 

方法来定义动作方法?

哪种方法更好,为什么?

4

3 回答 3

1

是的。你可以使用任何方式。

这两种方法都从您现有的 eventreporter 程序开始。您将使用 Interface Builder 向其添加一个简单的 UIButton。将按钮放在页面底部标签的顶部,并使用属性标签将其标记为重置。有了它并定义好了,它就可以通过两种不同的方式之一链接到您的程序中了。

使用 addTarget:action:forControlEvents: 按钮

一方面,您可能希望以编程方式向按钮添加操作。如果您在 Xcode 中创建了按钮,或者您在 Interface Builder 中创建了按钮但想在运行时更改其行为,则可能会出现这种情况。您的第一步是将按钮引入 Xcode。如果您在Interface Builder 中创建了按钮,正如我们之前建议的那样,您需要为按钮创建一个IBOutlet,现在应该是旧帽子了。如果您没有在 InterfaceBuilder 中创建按钮,您可以在 Xcode 中创建。这可能意味着使用工厂类方法buttonWithType:,它可以让您创建一个圆角矩形按钮或一些特殊按钮之一,如信息按钮。无论哪种方式,您现在都应该在 Xcode 中拥有一个可用的按钮对象。

使用带有按钮的 IBAction

将动作链接到方法的另一种方法是在 InterfaceBuilder 中执行所有操作。如果您已经在 Interface Builder 中创建了对象(正如我们建议的那样)并且您不打算在运行时更改其行为,这是首选选择。使用此过程时,您不需要制作按钮进入 IBOutlet。它在 Xcode 中实际上是不可见的,这很好,因为您只关心按下按钮时会发生什么。您也不要使用addTarget:action:forControlEvents:我们刚刚运行的有点复杂的方法;相反,您可以通过直观的 Interface Builder 方式连接事物。

于 2012-07-13T12:07:21.930 回答
0

这取决于用户使用哪一个。使用xib更容易,可以避免编写大量代码。

于 2012-07-13T11:47:15.063 回答
0

虽然两者中的任何一个都可以使用。我看到它的唯一原因应该IBAction是因为您使用了 xib。这样你就知道你创建的所有东西都来自xib。但再一次,两者都很好。

于 2012-07-13T11:52:48.963 回答