如何快速增加标签的y?

时间:2015-08-20 11:14:49

标签: swift label axes


所以我是Swift的新手,我无法弄清楚如何从标签中增加y值。
我试图在标签中显示用户在输入中键入的一些消息...如聊天视图。

所以我有这个代码,但是它将所有消息放在另一个上面:

我知道它非常混乱,我很抱歉。
谢谢!

//my label
    @IBOutlet weak var label: UILabel!
    //my text field
    @IBOutlet weak var textF: UITextField!

@IBAction func buttonPressed(sender: AnyObject) {

        //create a variable(input) to store my text from the TextField
        var input = textF.text
        //put that text in the label
        label.text = input

        var label2 : UILabel = UILabel(frame: CGRectMake(20, 20, 200, 21))
        var isSendMessage: Bool = true {
            didSet {
                if isSendMessage {
                    var input = textF.text
                    label.text = input
                    textF.text = " "
                  //  self.view.label.origin.y += 10

                } else {
                    var input = textF.text
                    label2.text = input
                    textF.text = " "

                }
            }
        }

        label2.center = CGPointMake(160, 284)
        label2.textAlignment = NSTextAlignment.Center
        self.view.addSubview(label2)

        //empty text field
        textF.text = " "

        label2.center = CGPointMake(160, 284)
        label2.textAlignment = NSTextAlignment.Center
        label2.text = input

        //add it to the view
        self.view.addSubview(label2)

    }

2 个答案:

答案 0 :(得分:0)

试试这个

不要直接更新Y轴,就好像你的Y值大于屏幕高度,然后标签将离开屏幕。

请尝试以下代码。

// Taking height and width of the screen

var height = UIScreen.mainScreen().bounds.size.height;
var width = UIScreen.mainScreen().bounds.size.width; 
var x = 164.0 // Fixed height of the label

if x < height 
{
    x += 20.0  // Incrementing height value
    if (height - 20) >= x  // Checking the difference between screen height and x, so it doesn't go beyond the screen.
    {
       label.frame = CGRectMake(20.0, x, 200.0, 21.0)
       self.view.addSubview(label)
    }
    else
    {    
         // Setting default height
         label.frame = CGRectMake(20.0,164.0, 200.0, 21.0)
         self.view.addSubview(label)
    }

}

希望这会有所帮助。

答案 1 :(得分:0)

在快速回答您的问题时,如果您只想更改y轴上的位置,可以使用.center下的属性.y

self.yourLabel.center.y = self.yourLabel.center.y + 10