2015-12-31 103 views
0

我正在處理Swift中的按鈕。好吧,看起來Swift並沒有正確設置我的UIButton的位置,因爲它出現在屏幕上,當我想要它在中心時。這是我的代碼,我做錯了什麼?UIButton的位置顯示不正確

import SpriteKit 
import UIKit 

class GameScene: SKScene, SKPhysicsContactDelegate { 
override func didMoveToView(view: SKView) { 
    /* Setup your scene here */ 

    let button = UIButton(type: UIButtonType.System) 

    let buttonImage = UIImage(named: "Button") 
    button.frame = CGRectMake(self.frame.size.width/2, self.frame.size.height/2, 100, 86) // x, y, width, height 
    button.setBackgroundImage(buttonImage, forState: UIControlState.Normal) 
    button.addTarget(self, action: "buttonAction", forControlEvents: UIControlEvents.TouchUpInside) 
    self.view?.addSubview(button) 

} 

func buttonAction (sender: UIButton!) { 

    print("Button tapped") 

} 

請幫助:/

+0

相反self.frame.size的'...''試試... self.view.frame.size' – u54r

+0

@ u54r修復該按鈕的問題顯示關閉屏幕,但定位仍然很奇怪,謝謝你回答 – CodeCake

回答

1

試試這可能會有幫助。

import SpriteKit 
import UIKit 

class GameScene: SKScene, SKPhysicsContactDelegate { 
override func didMoveToView(view: SKView) { 
    /* Setup your scene here */ 

    let button = UIButton() 

    let buttonImage = UIImage(named: "Button") 

    button.frame.size = CGSizeMake(100, 86) 
    button.center = self.view.center; 
    button.setBackgroundImage(buttonImage, forState: UIControlState.Normal) 
    button.addTarget(self, action: "buttonAction", forControlEvents: UIControlEvents.TouchUpInside) 
    self.view?.addSubview(button) 

} 
+0

謝謝你的回答,那肯定會讓按鈕居中。但我想有沒有辦法解決這個定位問題... – CodeCake

+0

你的問題是否修復? – technerd

+0

是呀,但現在我有另一個問題。每次按下按鈕,它都會將我帶到AppDelegate.swift文件並給我一個錯誤:_Thread 1:signal SIGABRT_;控制檯描述很長,所以我不會寫這個,你有什麼想法嗎? 'class AppDelegate:UIResponder,UIApplicationDelegate {'該行被標記爲紅色 – CodeCake