所以我对 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/