我可以在按鈕點擊時添加文本框,但我無法刪除已添加的文本框,我只能刪除最近添加的文本框,但無法刪除其他以前的文本框,我怎麼能刪除/刪除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
我已經給委託給我的文本字段,你清楚地觀察到我只使用一個文本字段,每次我添加一個新的文本字段具有相同的名稱。 –