使用swift自定义文本字段图层/背景/自适应

使用swift自定义文本字段图层/背景/自适应,swift,background,textfield,Swift,Background,Textfield,我想知道是否可以使用swift为textfield创建自定义背景,例如,预期4个字母,textfield有4个正方形。你是说像这样吗 // Background txtField.backgroundColor = UIColor.greenColor() // Placeholder txtField.placeholder = "1" // Corner radius txtField.layer.cornerRadius = 8 // A Boolean indicating whethe

我想知道是否可以使用swift为textfield创建自定义背景,例如,预期4个字母,textfield有4个正方形。你是说像这样吗

// Background
txtField.backgroundColor = UIColor.greenColor()
// Placeholder
txtField.placeholder = "1"
// Corner radius
txtField.layer.cornerRadius = 8
// A Boolean indicating whether sublayers are clipped to the layer’s bounds
txtField.layer.masksToBounds = true
更新

下面是一个方法,它将随机分配一个数字,然后根据生成的数字创建文本字段。如果你已经有了一个数字,你当然不需要随机功能。您唯一需要做的就是更改
var i=0;i
rand到您的变量。
textFieldEditingChanged
功能是当用户尝试向
textField
添加新字符时发生的事件,并且有一个复选框,每个
textField
中只允许一个字符

let rand = Int(arc4random_uniform(10) + 2)
for var i = 0; i < rand; i++ {
    let myField: UITextField = UITextField (frame:CGRectMake(CGFloat(i * 30), 50, 25, 25));
    myField.text = String(i)
    myField.backgroundColor = UIColor.redColor()
    myField.addTarget(self, action: "textFieldEditingChanged:", forControlEvents: UIControlEvents.EditingChanged)
    self.view.addSubview(myField)
}
单击文本字段的事件

func textFieldEditingChanged(target: UITextField){
     if (target.text?.characters.count > 1){
         target.text = target.text?.substringToIndex(target.text!.endIndex.predecessor())
     }
 }
更新 更换应答器

声明一个变量
var tagNumber=0
,当您在for语句中循环并创建文本字段时,只需将此行添加到
myField.tag=i
。在
textFieldEditingChanged
函数中,添加以下代码块:

if (target.tag < tagNumber){
       let nextTag: NSInteger = target.tag + 1;
       // Try to find next responder
       if let nextResponder: UIResponder! = 
       target.superview!.viewWithTag(nextTag){
           nextResponder.becomeFirstResponder()
       }
   }
if(target.tag
no,例如,如果我希望“car”,我希望文本字段变成3方形,当用户写下“car”时,每个字母都会进入square@AndrewBr,检查更新。我添加了两个示例,一个是如果你只有一个数字,并希望根据这个数字生成文本框,另一个是如果你有一个单词。你知道如何用一个按钮更改textfield当前部分吗?你是什么意思@AndrewBRF示例:我在第一个文本字段部分键入A,然后下一个部分成为第一个响应者
if (target.tag < tagNumber){
       let nextTag: NSInteger = target.tag + 1;
       // Try to find next responder
       if let nextResponder: UIResponder! = 
       target.superview!.viewWithTag(nextTag){
           nextResponder.becomeFirstResponder()
       }
   }