快速按钮目标"self"在 ScrollVIew 的视图控制器中不起作用


一些

相当微不足道的东西,但我找不到答案(不是在这个网站上,也不是在我拥有的 Swift 书籍中)。

我有以下结构:- 在主视图控制器内创建的滚动视图- 在这个ScrollView中,还有另一个ViewController,它包含了所有的UI元素。- 其中一个 UI 元素是分配有目标的按钮。每当我使用此按钮时,我的应用程序都会崩溃。

按钮的代码相当简单:

let button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.setTitle("Test Button", forState: UIControlState.Normal)
button.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
view.addSubview(button)

用于捕获按钮事件的代码:

func buttonAction(sender:UIButton!)
{
    println("Button tapped")
}

我怀疑问题来自addTarget中的"self"关键字(当我从主视图控制器创建按钮时,它工作正常。谁能告诉我如何解决这个问题/背后的逻辑?

非常感谢

所以我想我已经想通了。

我想我对过去使用的语言(如Actionscript)有点困惑。

我所做的是创建一个带有ScrollView的ViewController,在该ScrollView中,我将添加另一个包含所有元素的ViewController。

我现在使用的方法是使用 ScrollView 创建 ViewController,现在我直接将所有元素添加到 ScrollView 而不是额外的 ViewController 中。

该按钮现在可以工作,所以我想在 ScrollView 中嵌套另一个 ViewController 简直是矫枉过正并增加了一层复杂性(我想默认情况下 ScrollView 组件从 UIView 扩展,所以没有必要拥有另一个视图)。

谢谢大家

最新更新