Ios 获取标签的值
所以我目前正在创建动态标签,我需要在点击时获取它们的值。我正在使用for循环创建编号为1到10的标签。然后,我将它们与Ios 获取标签的值,ios,swift,uilabel,Ios,Swift,Uilabel,所以我目前正在创建动态标签,我需要在点击时获取它们的值。我正在使用for循环创建编号为1到10的标签。然后,我将它们与UITapGestureRecognizer一起添加到视图中,以便在点击时进行检测。我需要做的是获取点击标签的文本。因此,如果我单击带有1文本的标签,我希望返回1。下面是我创建标签和添加手势识别器的步骤 for number in numbers.characters { let touch = UITapGestureRecognizer(target:se
UITapGestureRecognizer
一起添加到视图中,以便在点击时进行检测。我需要做的是获取点击标签的文本。因此,如果我单击带有1
文本的标签,我希望返回1
。下面是我创建标签和添加手势识别器的步骤
for number in numbers.characters {
let touch = UITapGestureRecognizer(target:self, action: "numberClicked")
touch.numberOfTapsRequired = 1
let label = UILabel(frame: CGRectMake(CGFloat(x), CGFloat(y1), CGFloat(width), CGFloat(height)))
label.font = label.font.fontWithSize(38)
label.text = String(number)
label.userInteractionEnabled = true
label.addGestureRecognizer(touch)
self.view.addSubview(label)
}
下面是一个在动作函数中获取标签文本的示例。关键的更改是在点击操作的名称中添加一个冒号,表示它采用了发送方参数。然后,您可以访问发件人的
视图
属性,以获取ui标签
本身
for number in numbers.characters {
// add a colon after "numberClicked" to indicate it takes an argument
let touch = UITapGestureRecognizer(target:self, action: "numberClicked:")
touch.numberOfTapsRequired = 1
let label = UILabel(frame: CGRectMake(CGFloat(x), CGFloat(y1), CGFloat(width), CGFloat(height)))
label.font = label.font.fontWithSize(38)
label.text = String(number)
label.userInteractionEnabled = true
label.addGestureRecognizer(touch)
self.view.addSubview(label)
}
func numberClicked(gesture: UIGestureRecognizer) {
if gesture.state == .Ended {
if let theLabel = (gesture.view as? UILabel)?.text {
print(theLabel) // print the "1"
}
}
}
下面是一个在动作函数中获取标签文本的示例。关键的更改是在点击操作的名称中添加一个冒号,表示它采用了发送方参数。然后,您可以访问发件人的
视图
属性,以获取ui标签
本身
for number in numbers.characters {
// add a colon after "numberClicked" to indicate it takes an argument
let touch = UITapGestureRecognizer(target:self, action: "numberClicked:")
touch.numberOfTapsRequired = 1
let label = UILabel(frame: CGRectMake(CGFloat(x), CGFloat(y1), CGFloat(width), CGFloat(height)))
label.font = label.font.fontWithSize(38)
label.text = String(number)
label.userInteractionEnabled = true
label.addGestureRecognizer(touch)
self.view.addSubview(label)
}
func numberClicked(gesture: UIGestureRecognizer) {
if gesture.state == .Ended {
if let theLabel = (gesture.view as? UILabel)?.text {
print(theLabel) // print the "1"
}
}
}
func numberClicked(sender:UILabel){如果让title=sender.text{…}
它似乎不起作用。似乎theView=sender as?UILabel
不是真的:(@LeoDabus当尝试按您的方式执行时,我收到一个错误,说明text
不可用deprecated@LeoDabus添加了显式键入的版本。谢谢。@LeoDabus是的,我想是的。我认为这是一个UIControl
。我编辑了我的答案。func numberClicked(发件人:UILabel){如果让title=sender.text{…}}
它似乎不起作用。看来theView=sender as?UILabel
不是真的:(@LeoDabus在尝试按您的方式执行时,我收到一个错误消息,表示text
无法按原样使用deprecated@LeoDabus添加了显式键入的版本。谢谢。@LeoDabus是的,我想是的。我认为这是一个UIControl
。我编辑了我的答案。我不确定为什么这个问题被认为是基于意见的。它问了一个问题关于特定API的基本“如何”问题。答案主要不是基于观点,而是基于UILabel
类的实际工作方式。我不确定为什么这个问题被认为是基于观点的。它问一个基本的“如何”关于特定API的问题。答案主要不是基于观点,而是基于UILabel
类的实际工作方式。