Arrays Swift-如何创建UITextFields数组并将其添加到UIView
我目前有一个控制器,有三个不同的视图(顶部、中心和底部)。我想在中心区域添加几个小的文本字段/框(有点像用于pin码的文本字段/框)。我当前的问题是,我需要的文本字段数量与发送到此视图的单词的字符数量相同 例如:如果单词是“四”,我需要四个文本字段,如果单词是“七”,我需要五个文本字段 我的想法是创建一个文本字段数组,循环遍历单词以计算字符数,然后填充数组。我认为下面的代码至少可以做到这一点,但现在我想使用锚将这些小文本字段添加到centerView 如何将这些框添加到视图中,使其水平显示Arrays Swift-如何创建UITextFields数组并将其添加到UIView,arrays,swift,uitextfield,Arrays,Swift,Uitextfield,我目前有一个控制器,有三个不同的视图(顶部、中心和底部)。我想在中心区域添加几个小的文本字段/框(有点像用于pin码的文本字段/框)。我当前的问题是,我需要的文本字段数量与发送到此视图的单词的字符数量相同 例如:如果单词是“四”,我需要四个文本字段,如果单词是“七”,我需要五个文本字段 我的想法是创建一个文本字段数组,循环遍历单词以计算字符数,然后填充数组。我认为下面的代码至少可以做到这一点,但现在我想使用锚将这些小文本字段添加到centerView 如何将这些框添加到视图中,使其水平显示 va
var arrayOfTextFields: [UITextField] = []
var game: Game? {
didSet {
if var answerContent = game?.answer {
for char in answerContent.characters {
let count = answerContent.characters.count
for _ in 1...count {
let myTextField: UITextField = UITextField(frame: CGRect(x: 0, y: 0, width: 40, height: 60))
self.arrayOfTextFields.append(myTextField)
answerContent = answerContent.replacingOccurrences(of: "\(char)", with: "_")
}
}
}
}
}
我的中心视图:
func createCenterView() -> UIView {
let centerView = UIView()
centerView.backgroundColor = Constants.MAIN_THEME_COLOR
centerView.translatesAutoresizingMaskIntoConstraints = false
return centerView
}
创建数量不确定的视图数组
在swift中,不需要使用循环
let text = "seven"
let views = (0..<text.characters.count).map{ _ in UITextField(frame:.zero) }
让text=“七”
让视图=(0..为每个文本字段指定一个适当的框架,而不是使它们完全相同。将CGRect的坐标设置为取决于i
:CGRect(x:i*width,y:top,width:width,height:height)
。如果它不适合水平放置,您可能会希望进行包装。然后循环浏览它们,并将它们作为子视图添加到中心视图中。水平堆叠视图可以很好地工作。您只需添加所需的多个文本字段。谢谢!我将尝试使用您的提示并修复我的代码。谢谢有关循环的说明。哟你的版本更干净。我会将它添加到我的代码中,并尝试使用UIStackView添加视图。