gpt4 book ai didi

ios - UIStepper 增量动态文本框

转载 作者:行者123 更新时间:2023-11-29 02:27:53 26 4
gpt4 key购买 nike

我目前正在使用 Swift 设置三页表单,其中包含动态创建的标签、UITextFields 和 UISteppers。但是,我想知道如何动态地增加 UITextField,因为每个示例都使用 Storyboard,而我正在以编程方式进行。预先感谢您的帮助!

           // read triggers configs
let triggers = dict["Triggers"] as Array<String>

//add list of triggers to view
var triggersView = UIView(frame: frame)
var prevInput = 150;
for index in 0..<triggers.count{
//title for triggers page
var title = UILabel(frame: CGRectMake(0, 0, 300, 50))
title.center = CGPointMake(200, 60)
title.font = UIFont(name: title.font.fontName, size: 28)
title.text = "Triggers"
triggersView.addSubview(title)

//label for trigger
var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.center = CGPointMake(160, CGFloat(prevInput))

label.textAlignment = NSTextAlignment.Left
label.text = triggers[index]
triggersView.addSubview(label)

//input box for trigger
var input = UITextField(frame: CGRectMake(0, 0, 50, 21))
input.center = CGPointMake(300, CGFloat(prevInput))
input.text = "0";
triggersView.addSubview(input);

//UIStepper
var stepper = UIStepper(frame: CGRectMake(0, 0, 50, 21))
stepper.center = CGPointMake(350, CGFloat(prevInput))
stepper.
triggersView.addSubview(stepper);

prevInput += 75 //increment for height

}
self.scrollView.addSubview(triggersView)

编辑:它与我们向按钮添加 Action 的方式相似吗? How to create a button programmatically?

最佳答案

由于 UIStepper 是 UIControl 的子类,您可以使用 addTarget(_:action:forControlEvents:) 来设置要发生的操作。控件事件应为 UIControlEvents.ValueChanged 以正确触发操作。

https://developer.apple.com/LIBRARY/IOS/documentation/UIKit/Reference/UIControl_Class/index.html#//apple_ref/occ/instm/UIControl/addTarget:action:forControlEvents :

除此之外,您还需要一些方法将 UIStepper 关联到与其关联的相关 UITextField。因此,您需要将 UITextFields 和 UISteppers 存储在某种数组中作为元组,或者您可以将 UIStepper 子类化并向与该特定步进器关联的 UITextField 添加一个属性。

关于ios - UIStepper 增量动态文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27281613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com