如何在uitextfield中处理退格

时间:2017-08-17 08:35:36

标签: ios iphone swift xcode uitextfield

我有6个uitextfield.And我做了自动对焦。一旦用户在一个文本字段中输入一个值,他们将自动重定向到下一个文本字段。但我不知道如何处理退格。喜欢当用户在最后一个文本字段并按退格键删除值..他们必须移动到5,4,3,2,1各自的textfields.How做到这一点?< / p>

这是我的自动对焦代码:

@IBAction func editing(_ sender: UITextField)
    {


        if sender == TextFieldOne {
            if sender.text?.characters.count == 1 {
                TextFieldTwo.becomeFirstResponder()
            }
        }

        else if sender == TextFieldTwo {
            if sender.text?.characters.count == 1 {
                TextFieldThree.becomeFirstResponder()
            }
        }

        else if sender == TextFieldThree {
            if sender.text?.characters.count == 1 {
                TextFieldFour.becomeFirstResponder()
            }
        }
        else if sender == TextFieldFour {
            if sender.text?.characters.count == 1 {
                TextFieldFive.becomeFirstResponder()
            }
        }
        else if sender == TextFieldFive {
            if sender.text?.characters.count == 1 {
                TextFieldSix.becomeFirstResponder()
            }
        }

        else if sender == TextFieldSix {
            if sender.text?.characters.count == 1 {
                TextFieldSix.resignFirstResponder()
            }
        }




    }

提前致谢!

3 个答案:

答案 0 :(得分:0)

Swift 3.0

请记住使用editing(_:)事件绑定EditingChanged操作。

if sender.text!.length == 0 {
       // textfield where you want to Focus.
       yourTextField.becomeFirstResponder()
 }

但我建议您使用以下UITextFieldDelegate方法。

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    }

答案 1 :(得分:0)

这应该有效:

import cv2
import numpy as np
img = cv2.imread("your_image.jpg")
x,y=img.shape[:2]
ma=max(x,y)
blank = np.zeros((ma,ma,3), np.uint8)
if y>=x:
    blank[(y-x)/2:(y-x)/2+x,0:y]=img
else:
    blank[0:x,(x-y)/2:(x-y)/2+y]=img
cv2.imshow('result', blank)
cv2.imwrite("result.jpg",blank)
cv2.waitKey(0)

答案 2 :(得分:0)

首先,你不应该在退格时使用前面的tf,因为它不是IOS的标准。然而,这是你实现它的方式:

在shouldchangecharacters方法中,您需要确定点击按钮是否退格,然后使用标签分别标识每个文本字段。因此,当您获得退格时,您可以通过减少当前文本字段中的标记值来获取前一个文本字段,并使前一个文本字段成为第一个响应者。

对于所有文本字段都是相同的,因此您不必使用昂贵的if-else条件来实现它。