UI文本字段定位Swift

时间:2015-07-15 23:29:57

标签: ios sprite-kit uikit

我是ios开发的新手,对于如何在swift中定位UI文本字段感到相当困惑。我正在使用精灵工具包并创建一个涉及输入二次方程的gaem。我想将文本字段放在标签旁边,这样就可以说y = _x ^ 2 + x + 。当我运行以下代码时,我的文本字段位于左上角!我该怎么办?

override func didMoveToView(view: SKView) {

        self.backgroundColor = SKColor.blueColor()
        //create y = label 
        let yLabel = SKLabelNode(fontNamed:"Note-Worthy-Bold")
        yLabel.text = "Y = ";
        yLabel.fontColor = SKColor.redColor()
        yLabel.fontSize = 30;
        yLabel.position = CGPoint(x:CGRectGetMidX(self.frame)-300, y:CGRectGetMidY(self.frame)+100);
        self.addChild(yLabel)


        //create text fielld for coefiecent of x^2 variable
        var xSqrCoefInput = UITextField(frame:CGRectMake(10, 10, 30, 10))
        xSqrCoefInput.backgroundColor = UIColor.orangeColor()
        self.view?.addSubview(xSqrCoefInput)


        //create x^2 Label
        let xSqrLabel = SKLabelNode(fontNamed:"Note-Worthy-Bold")
        xSqrLabel.text = "x^2+";
        xSqrLabel.fontColor = SKColor.redColor()
        xSqrLabel.fontSize = 30;
        xSqrLabel.position = CGPoint(x:CGRectGetMidX(self.frame)-150, y:CGRectGetMidY(self.frame)+100);
        self.addChild(xSqrLabel)

        //create text fielld for coefiecent of x variable
        var xCoefInput = UITextField(frame:CGRectMake(10, 10, 30, 10))
        self.view?.addSubview(xCoefInput)
        xCoefInput.backgroundColor = UIColor.orangeColor()

        //create x label
        let xLabel = SKLabelNode(fontNamed:"Note-Worthy-Bold")
        xLabel.text = "x+";
        xLabel.fontColor = SKColor.redColor()
        xLabel.fontSize = 30;
        xLabel.position = CGPoint(x:CGRectGetMidX(self.frame)-0, y:CGRectGetMidY(self.frame)+100);
        self.addChild(xLabel)

        //create text fielld for constant
        var constantInput = UITextField(frame:CGRectMake(10, 10, 30, 10))
        self.view?.addSubview(constantInput)
        constantInput.backgroundColor = UIColor.orangeColor()

    }

1 个答案:

答案 0 :(得分:0)

CGRectMake包含4个参数。

CGRectMake(x position, y position, width, height)

默认的起始位置是左上角。您当前的文本字段位置是(10,10),所以基本上您只需要更改所有文本字段的x和y位置。

var xSqrCoefInput = UITextField(frame:CGRectMake(10, 10, 30, 10))

如果您希望将文本字段放在标签旁边,最好获取标签的位置并从那里设置位置。