问题标签 [addtarget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
19 回答
48848 浏览

ios - 将闭包作为目标添加到 UIButton

我有一个通用控件类,它需要根据视图控制器设置按钮的完成。由于 setLeftButtonActionWithClosure 函数需要将闭包作为参数,该闭包应该设置为取消按钮的操作。在 Swift 中怎么可能因为我们需要将函数名作为字符串传递给 action: 参数。

0 投票
1 回答
776 浏览

swift - UIPageControl ValueChanged 事件的“无法识别的选择器发送到实例”

我正在尝试以编程方式使用 addTarget() 为 mainView 中的 UIPageControl 对象添加 ValueChanged 事件。

接着

主视图中有 1 个 UIPageControl,我希望当单击 UIPageControl 对象更改其值时会触发 pageValueChanged。但是当单击 UIPageControl 对象时,我得到 error "[Tmoji.KeyboardViewController pageValueChanged:]: unrecognized selector sent to instance"

我对 UIButton 事件 TouchUpInside 做了同样的事情,它起作用了。有什么我错过的吗?

0 投票
2 回答
285 浏览

ios - iOS:为多个按钮分配相同的选择器,哪一个是最好的方法?

通常我UIButton只会以这种方式将单个选择器分配给多个 s,

今天我找到了另一种方法,

请注意,我将表格中的这个选择器分配给带有上述按钮的每一行。

哪种方式更有效?我假设第二种方式,因为我们只创建一次选择器,但不确定。

0 投票
1 回答
1603 浏览

ios - 如何在 Swift 中动态创建 buttonAction 函数

在 MCQ 应用程序中,我UIButton像这样以编程方式创建多个

问题是为了将功能与这些按钮匹配,我需要创建一个功能。因此,该功能应该看起来像

这些函数实际上是将一个字符串保存在一个数组中,而要保存的字符串就是函数本身的名称。例如buttonName: "blackberry",如果我们有,代码将设置一个名为的图像"blackberry"并添加一个名为的目标操作"blackberry",因此我希望buttonAction调用一个函数func blackberry(sender: UIButton),该函数会将字符串保存"blackberry"String.

但是所有这些都应该在初始buttonName: String参数的函数中完成。

或者也许我真的没有以正确的方式做事,那我该怎么做?

0 投票
1 回答
8642 浏览

ios - addTarget 不适用于在 Swift 中创建的 UIButton

因此,我使用 Swift 创建了一个 UIButton,并使用以下代码对其进行了动画处理,它是超级视图:

这工作正常。然后我创建了一个函数,它应该在我上面创建的按钮的 touchUpInside 上调用:

当我触摸按钮时,该功能不会触发。任何人都可以帮忙吗?我正在实际设备(iPhone 6 Plus/iOS 8.1.1

0 投票
1 回答
116 浏览

ios - iOS点击动态UIButton崩溃

我正在以编程方式创建一个带有图像的 UIButton。

当我单击此按钮时,我收到以下错误代码:

有谁知道解决方案?

0 投票
0 回答
849 浏览

ios - 不同类中具有动作选择器方法的 UIButton

与上一个问题(在 Objective-C 中以编程方式创建 UI 元素)相关,此方法位于项目的一个类中,其他类能够调用它以编程方式创建按钮:

我现在正在尝试添加目标和操作方法,由一个通用函数处理,如下所示:

它适用于与createButton()函数位于同一类中的按钮,但尽管按钮也在其他类中成功创建,但它们不会触发commonHandler()方法。

注意:createButton()commonHandler()方法已在其头文件中声明,并由所有类导入。

有什么办法可以做到这一点?


编辑:建议的解决方案仍然崩溃

我根据建议修改了代码,并将createButtonbuttonAction都转换为 Objective-C 方法,以启用对self的引用。

class1 标头

类 1 实现

2 类标头

类 2 实现

button1button2均已正确创建,但button1会触发buttonAction方法,而button2则不会 - 它在触摸时崩溃。

是否执行错误?

(如有遗漏,我只是从实际项目中提取了相关部分来说明)

0 投票
2 回答
2136 浏览

ios - Swift:addTarget 动作是否只允许类方法?

我试图将目标添加到 UIButton 并偶然发现了一个奇怪的行为

如果我尝试:

我得到 SIGABRT - “找不到选择器”

但是如果我将函数移出开关盒并使其成为我的 ViewController 的方法,一切都会按预期工作。

有人对此有解释吗?是不允许还是有技术原因?

0 投票
1 回答
288 浏览

ios - 按钮单击使整个应用程序崩溃

我目前正在构建应用程序的 UI,而不使用 IB 或情节提要。我有以下层次结构: 1. ViewController:这是主视图控制器。2. DrawerViewController:是下抽屉菜单的视图控制器。主视图控制器将抽屉视图控制器的视图添加为子视图。3. 添加按钮:这是一个以编程方式创建并添加到drawerViewController 视图的UIButton。

问题是如果我单击添加按钮,应用程序崩溃,输出中绝对没有错误消息,除了(lldb)。

我尝试了以下方法:

  1. 更改选择器名称和方法名称。
  2. 检查选择器方法的名称。
  3. 添加和删​​除了选择器方法的参数。
  4. 更改了按钮的名称。
  5. 在另一个视图中添加了按钮。

没有办法使用断点来跟踪错误,因为应用程序编译得很好,并且应用程序只有在您单击按钮时才会崩溃。

这是我为显示问题而创建的测试项目的链接:

GitHub

视图控制器:

抽屉视图控制器

0 投票
1 回答
82 浏览

parameters - 如何子类化 UIButton 以通过 addTarget:action:forControlEvents 传递多个 NSString 参数

我必须以编程方式定义(不使用任何 IBAction)一个 UIButton,当点击它时获取 3 个 NSString 参数的值并执行一个 Segue。用于执行 Segue 的方法通过以下方式调用:

然后执行为:

我知道最好的解决方案是将 UIButton (在我的情况下为 myButton )子类化,以便通过发件人传递 3 NSString,如在此答案中找到的那样: 将参数传递给 addTarget:action:forControlEvents 不幸的是,鉴于我的新手,我无法对此发表评论水平,我真的很感谢社区在这方面的一些帮助。