我可以在按钮点击时添加文本框,但我无法删除已添加的文本框,我只能删除最近添加的文本框,但无法删除其他以前的文本框,我怎么能删除/删除Swift中的文本字段。如何在Swift中添加和删除按钮时添加和删除视图上的文本字段?
我已经成功添加了按钮,但我无法删除这些文本框。
我试图让每个文本字段的标签值,但在这里我错过了一些逻辑,请在这方面的帮助。提前致谢。
下面是当我点击删除参考图像( - )按钮,然后相对于该文本框必须拆除并不是所有的子视图。
//为add方法
@IBAction func btnAddOptionAction(sender: UIButton)
{
txtOption = UITextField(frame: CGRectMake(52, yFrame+17, 195, 30))
txtOption.borderStyle = .None
txtOption.tag = index
let modifiedURLString = NSString(format:"Option %d", index) as String
//textField.text = modifiedURLString
txtOption.attributedPlaceholder = NSAttributedString(string:modifiedURLString,
attributes:[NSForegroundColorAttributeName: UIColor.whiteColor()])
txtOption.font = UIFont(name: "Avenir Medium", size: 16)
txtOption.textColor = UIColor.whiteColor()
self.scrOptions.addSubview(txtOption)
btnDeleteOption.frame = CGRectMake(259, txtOption.frame.origin.y + 8, 25, 25)
btnAddOption.frame = CGRectMake(259, txtOption.frame.origin.y + txtOption.frame.size.height + 10, 25, 25)
btnDeleteOption.hidden = false
print("Add index", index)
index++
yFrame = yFrame + 40
scrOptions.contentSize = CGSizeMake(0, btnAddOption.frame.origin.y + btnAddOption.frame.size.height + 20)
}
//对于删除方法
@IBAction func btnDeleteOptionAction(sender: UIButton)
{
yFrame = yFrame - 40
index--
sender.tag = index
txtOption.removeFromSuperview()
imgoption.removeFromSuperview()
imgUnderLine.removeFromSuperview()
btnDeleteOption.frame = CGRectMake(259, yFrame - 15, 25, 25)
btnAddOption.frame = CGRectMake(259, yFrame + 32 - 15, 25, 25)
if index <= 1
{
btnDeleteOption.frame = CGRectMake(259, 25, 25, 25)
btnAddOption.frame = CGRectMake(259, 25, 25, 25)
btnDeleteOption.hidden = false
}
print("y-axis ",btnDeleteOption.frame.origin.y)
}
你使用removeFromSuperview?可以发布您的代码,以便我们可以帮助您的viewDidLoad中的 – PK20
,包括文本字段的代表。和后来在btnDeleteOptionAction,尝试self.textFields.removeFromSuperview() – PK20
我已经给委托给我的文本字段,你清楚地观察到我只使用一个文本字段,每次我添加一个新的文本字段具有相同的名称。 –