18880


Swiftによるプログラミング初心者です。  
UITextFieldをUIStepperなどの値に応じて増やしたり減らしたりしたいと考えています。  
そこで、足がかりとして以下のような関数を作りました。

[code]

    func makeUITextField(frame: CGRect, DataNum: Int) -> [UITextField] {
        var textFields = [UITextField]()
        for var i = 0; i < DataNum; i++ {
            textFields[i].frame = frame
            textFields[i].borderStyle = UITextBorderStyle.RoundedRect
            textFields[i].keyboardType = UIKeyboardType.Default
            textFields[i].returnKeyType = UIReturnKeyType.Done
            textFields[i].delegate = self
            self.view.addSubview(textFields[i])
    
        }
    
        return textFields
    
    }
    
[/code]

コンパイルは通るのですが、各配列を定義するときにエラーが起きてしまします。

どのようにすれば、うまくtextfieldを複数作れるか教えて下さい。  
どうぞ宜しくお願いします。


CC BY-SA 3.0
2015-11-16T06:28:17.817
18877
2015-11-16T07:09:53.727
13272
question
ios swift xcode
SwiftにおいてUITextFieldの配列を作る方法


下記のような形でいかがでしょうか？

[code]

    func makeUITextField(frame: CGRect, DataNum: Int) -> [UITextField] {
    　　var textFields:[UITextField] = []
       for var i = 0; i < DataNum; i++ {
       　　let textField:UITextField = UITextField.init(frame: frame)
           textField.borderStyle = UITextBorderStyle.RoundedRect
           textField.keyboardType = UIKeyboardType.Default
           textField.returnKeyType = UIReturnKeyType.Done
           textField.delegate = self
           textFields.append(textField)
           self.view.addSubview(textField)     
       }
    
       return textFields
    
    }
    
[/code]

1個ずつ要素を作ってから配列に追加すれば良いと思います。


CC BY-SA 3.0
2015-11-16T07:09:53.727
18880
2015-11-16T07:09:53.727
8968
18877
answer