所以我是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)
}
答案 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