首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS中填充文本字段后发送服务调用

如何在iOS中填充文本字段后发送服务调用
EN

Stack Overflow用户
提问于 2016-10-26 21:09:11
回答 1查看 97关注 0票数 1

我想发送服务调用来了解pin是否正确。我有4个文本字段。如果输入第4个文本字段,则服务呼叫必须自动转出。这意味着所有的文本字段都应该填充。服务调用必须以这样的方式进行:如果用户更改了1、2、3或4,我们就必须用textField:shouldChangeCharactersInRange编写。但我不知道该在哪里写。

请帮帮我。下面是我的代码:

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSCharacterSet *acceptedInput = [NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARECTERS];

    if (textField == self.textFied1&&([[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 0))
    {
        int length = (int)[textField.text length];
        if (length==1)
        {
            [self.textField2 becomeFirstResponder];
            if(range.length == 0)
            {
                [self.textField2 becomeFirstResponder];
                return NO;
            }
            if([self.textFied1.text length]==1)
            {
                self.textFied1.text=@"";
                [self.textFied1 becomeFirstResponder];
                return NO;
            }

        }
        if (([[self.textField4 text] length] > 0)&& ([[self.textField2 text] length] > 0)&& ([[self.textField3 text] length] > 0)&& ([[self.textFied1 text] length] > 0)){
            [self connected1];//this step is not executing

        }
    }
    else if (textField == self.textField2&&([[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 0))
    {
        int length = (int)[textField.text length];
        if (length==1)
        {
            if(range.length == 0)
            {
                [self.textField3 becomeFirstResponder];
                return NO;
            }

            if([self.textField2.text length]==1)
            {
                self.textField2.text=@"";
                [self.textFied1 becomeFirstResponder];
                return NO;
            }
        }
        if (([[self.textField4 text] length] > 0)&& ([[self.textFied1 text] length] > 0)&& ([[self.textField3 text] length] > 0)&&([[self.textField2 text] length] > 0)){

            [self connected1];//this step is not executing

        }

    }
    else if (textField == self.textField3&&([[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 0))
    {
        int length = (int)[self.textField3.text length];
        if (length==1)
        {
            if(range.length == 0)
            {
                [self.textField4 becomeFirstResponder];
                return NO;
            }

            if([self.textField3.text length]==1)
            {
                self.textField3.text=@"";
                [self.textField2 becomeFirstResponder];
                return NO;
            }
        }
        if (([[self.textField4 text] length] > 0)&& ([[self.textField2 text] length] > 0)&& ([[self.textFied1 text] length] > 0)&& ([[self.textField3 text] length] > 0)){
            [self connected1];//this step is not executing
        }
    }
    else if (textField == self.textField4&&([[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 0))
    {
        int length = (int)[textField.text length];
        if (length==1)

        {

            if(range.length == 0)
                return NO;

            if([self.textField4.text length]==1)
            {
                self.textField4.text=@"";
                [self.textField3 becomeFirstResponder];

                return NO;
            }

        }

        // here my service code
      if (([[self.textFied1 text] length] > 0)&& ([[self.textField2 text] length] > 0)&& ([[self.textField3 text] length] > 0)&&([[self.textField4 text] length] > 0))
        {
            [self connected1];//this step is not executing
        }
    }

    return YES;
}
EN

Stack Overflow用户

发布于 2016-10-27 01:00:32

这是因为在- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string中你不能直接获取字符串。

首先,将用户的输入文本设置为:

代码语言:javascript
复制
NSString *content = [textField.text stringByAppendingString:string];

然后用content匹配每个条件。

对于Reference

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40263197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档