快速按钮目标"自我"不在ScrollVIew的ViewController中工作

时间:2014-11-17 09:33:57

标签: button swift scrollview

相当微不足道但我无法找到答案(不在本网站或我拥有的Swift书籍中)。

我有以下结构: - 在主ViewController中创建的ScrollView - 在这个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”关键字(当我从主viewController创建按钮时,它工作正常。有人能告诉我如何解决这个问题/它背后的逻辑吗? / p>

非常感谢

1 个答案:

答案 0 :(得分:0)

所以我想我已经弄明白了。

我认为我对过去使用的语言(如Actionscript)感到有点困惑。

我正在做的是使用ScrollView创建一个ViewController,在ScrollView中我会添加另一个带有所有元素的ViewController。

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

按钮现在可以工作所以我想在ScrollView中嵌套另一个ViewController简直是过度杀戮并添加了一层复杂性(我想默认ScrollView组件是从UIView扩展的,因此没有必要再使用另一个View。) p>

全部谢谢