Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Swift-如何创建UITextFields数组并将其添加到UIView_Arrays_Swift_Uitextfield - Fatal编程技术网

Arrays Swift-如何创建UITextFields数组并将其添加到UIView

Arrays Swift-如何创建UITextFields数组并将其添加到UIView,arrays,swift,uitextfield,Arrays,Swift,Uitextfield,我目前有一个控制器,有三个不同的视图(顶部、中心和底部)。我想在中心区域添加几个小的文本字段/框(有点像用于pin码的文本字段/框)。我当前的问题是,我需要的文本字段数量与发送到此视图的单词的字符数量相同 例如:如果单词是“四”,我需要四个文本字段,如果单词是“七”,我需要五个文本字段 我的想法是创建一个文本字段数组,循环遍历单词以计算字符数,然后填充数组。我认为下面的代码至少可以做到这一点,但现在我想使用锚将这些小文本字段添加到centerView 如何将这些框添加到视图中,使其水平显示 va

我目前有一个控制器,有三个不同的视图(顶部、中心和底部)。我想在中心区域添加几个小的文本字段/框(有点像用于pin码的文本字段/框)。我当前的问题是,我需要的文本字段数量与发送到此视图的单词的字符数量相同

例如:如果单词是“四”,我需要四个文本字段,如果单词是“七”,我需要五个文本字段

我的想法是创建一个文本字段数组,循环遍历单词以计算字符数,然后填充数组。我认为下面的代码至少可以做到这一点,但现在我想使用锚将这些小文本字段添加到centerView

如何将这些框添加到视图中,使其水平显示

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添加视图。