在新的Swift视图控制器文件上添加按钮不起作用

时间:2015-07-01 13:34:07

标签: ios swift uibutton

我目前正在制作一款游戏,并希望为其添加暂停按钮。我的一个文件太大,以至于变得非常缓慢而且迟缓。我试图将代码分解为单独的文件。我创建了一个名为PauseScreen.swift的文件并尝试在那里制作暂停按钮,但似乎代码从未运行过。这就是我所做的:

    import Foundation
    import SpriteKit

    var pauseButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton

    class Pause: UIViewController {

        override func viewDidLoad() {

            let pauseButtonImage = UIImage(named: "Pause")
            pauseButton.setBackgroundImage(pauseButtonImage, forState: .Normal)
            pauseButton.frame = CGRectMake(self.view!.frame.width / 2 + 190, self.view!.frame.height - 300, 50, 50)
            pauseButton.addTarget(self, action: "pauseButtonTapped:", forControlEvents: .TouchUpInside)
            pauseButton.alpha = 1.0
            self.view?.addSubview(pauseButton)

        }


func pauseButtonTapped(sender:UIButton!){}
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在viewDidLoad中,视图的框架可能是CGRectZero。尝试打印框架,看看你得到了什么。如果是这种情况,请将代码移至viewWillAppear。

另外,要非常小心地对按钮的框架进行硬编码。它可能会以300这样的常量结束屏幕。我建议使用自动布局来缓解这些问题。