相当微不足道的东西,但我找不到答案(不是在这个网站上,也不是在我拥有的 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 扩展,所以没有必要拥有另一个视图)。
谢谢大家