相当微不足道但我无法找到答案(不在本网站或我拥有的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>
非常感谢
答案 0 :(得分:0)
所以我想我已经弄明白了。
我认为我对过去使用的语言(如Actionscript)感到有点困惑。
我正在做的是使用ScrollView创建一个ViewController,在ScrollView中我会添加另一个带有所有元素的ViewController。
我现在使用的方法是使用ScrollView创建ViewController,现在我直接将所有元素添加到ScrollView而不是额外的ViewController。
按钮现在可以工作所以我想在ScrollView中嵌套另一个ViewController简直是过度杀戮并添加了一层复杂性(我想默认ScrollView组件是从UIView扩展的,因此没有必要再使用另一个View。) p>
全部谢谢