【问题标题】:Buttons as Outlets vs IBActions [Objective C + Xcode]按钮作为插座与 IBActions [Objective C + Xcode]
【发布时间】:2015-05-11 16:29:22
【问题描述】:

将按钮设置为插座有什么意义?我正在学习教程,但老师并没有真正提到他为什么将按钮设置为插座。假设一个按钮执行一个操作/调用一个方法,因此我们将其设置为 IBAction。

他将按钮设置为插座,然后在 viewDidLoad 中通过 Xcode 继续更改按钮的文本,但为什么不将其保留为 IBAction 并使用 setTitle: forState:UIControlStateNormal 更改文本?

按定义,按钮不应该引起动作吗?

【问题讨论】:

  • 如果您只有按钮连接到操作,您打算如何使用setTitle 更改文本?
  • 我不能在 viewDidLoad 中使用 setTitle 吗?
  • 确实如此,谢谢。同样正如我在下面问的那样,是否需要有一个 Outlet & and Action?如果是这样,我该怎么做?只需创建两个连接?
  • 啊,我明白你的困惑了。是的。您创建一个插座来将您的按钮连接到您的类,然后您还可以为它创建一个操作。我假设您使用 Swift,因此当您拖动以创建动作时,请查看下拉选项以将其更改为动作。

标签: objective-c xcode button


【解决方案1】:

在某些逻辑情况下,您需要更改按钮的行为,例如在调用一个动作(由其他事件触发)时,您需要禁用它或更改其背景颜色或文本。

你不必一直设置,但在很多情况下它真的很有用

【讨论】:

  • 这是有道理的,但是既然我们只能使用标签,为什么还要使用按钮呢?该按钮不执行操作,而是根据另一个事件更改属性。除非,您是说有一种方法可以将按钮变成 IBAction AND 和 IBOutlet?
  • 是的,当然两者都可以,实际上一个 UIButton 可以连接到多个 IBActions /n 检查这个link 这对初学者非常有用
猜你喜欢
  • 1970-01-01
  • 2016-08-18
  • 2015-04-19
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多