【问题标题】:Swift: Add a Textfield when Button is Pushed [closed]Swift:按下按钮时添加一个文本字段[关闭]
【发布时间】:2016-10-22 03:49:28
【问题描述】:

谁能告诉我如何制作一个按钮,单击时添加一个文本字段并限制最多四个文本字段?

class AddNewGameViewController: UIViewController {

var textFields: [UITextField] = []
    let maxTextFields = 4

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func addPlayer(sender: AnyObject) {
        if textFields.count < maxTextFields {
            let textField = UITextField()
            textFields.append(textField)
        }
    }

这是我目前的代码。

【问题讨论】:

  • 我认为这是一个“您在流程的哪一部分需要帮助”的问题。
  • 这个搜索可能是一个开始的地方:google.com/search?q=ios+create+uiview+programmatically
  • 所以我有按下按钮时的操作代码。 @IBAction func addPlayers(sender: AnyObject) { } 我只需要知道按下按钮时添加文本字段的代码是什么
  • 您有一个您想要的特定功能,并且您希望我们为您编写它。您是否尝试自己解决这个问题,如果您无法解决问题,请回来提出问题? (提示:从一开始就将文本字段放置在适当的位置但隐藏起来可能更容易。然后您的按钮可以一次取消隐藏一个。)
  • @DuncanC 我已经更新了我的问题。

标签: ios swift uibutton uitextfield


【解决方案1】:

另一种方法是在情节提要(或 .xib)中创建四个字段并将它们标记为隐藏。然后,您的按钮代码只需要按顺序取消隐藏它们。

这样做的好处是更容易控制布局并减少每个按钮操作的工作量。

【讨论】:

  • 那么我将如何创建一个序列。这是我到目前为止的代码。 @IBAction func addPlayer(sender: UIButton) { sender.enabled = false Player1.hidden = false Player2.hidden = false Player3.hidden = false Player4.hidden = false }
【解决方案2】:

类似这样的:

var textFields: [UITextField] = []
let textFieldSize = CGSize(width: 97, height: 30)
let maxTextFields = 4

func tappedButton(button: UIButton) {
    if textFields.count < maxTextFields {
        let y = CGFloat(textFields.count) * textFieldSize.height
        let textField = UITextField(frame: CGRect(origin: CGPoint(x: 0, y: y), size: textFieldSize))
        view.addSubview(textField)
        textFields.append(textField)
    }
}

【讨论】:

  • 这是我一直在寻找的,但按下按钮时它不显示任何文本字段。
  • 我没有为文本字段指定frame,也没有将其添加为子视图。当然这是你必须做的......
  • 看看我编辑的答案...
  • 如果您使用 AutoLayout,您需要在文本字段上设置约束,这会变得非常复杂。
猜你喜欢
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多