swift - 如何快速增加标签的 y ?

标签 swift label axes


所以我对 Swift 很陌生,我不知道如何增加标签的 y 值。
我试图在标签中显示用户在输入中键入的一些消息...例如聊天 View 。

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

我知道这很困惑,对此我感到抱歉。
谢谢!

//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)

    }

最佳答案

试试这个

不要直接更新 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)
    }

}

希望这会有所帮助。

关于swift - 如何快速增加标签的 y ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32116755/

相关文章:

ios - 如果 UITextField 和 UITextView 在 Swift 中为空,则禁用 UIButton

javascript - 如何在散点图中的点内添加标签?

c - C 中的速度胜过风格?

r - ggplot 主题删除 gtable 中两个图上的 y 轴,保留第三个图

python - Bokeh 中轴类型日期时间的矩形散点图

支持 XPath 轴的 Java Html 解析器?

当前页面上的 Swift PageControl 较大的点

ios - 显示从图库中选择的视频作为预览

ios - UIViewController 转换使用 MVVM+Coordinators 模式

css - 如何删除标签自动间距