Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
ios中的键盘响应速度慢_Ios_Xcode - Fatal编程技术网

ios中的键盘响应速度慢

ios中的键盘响应速度慢,ios,xcode,Ios,Xcode,我正在创建动态屏幕和动态创建文本字段 当我触摸文本字段并开始书写时,我的键盘响应很慢,需要大约3-4秒才能在屏幕上显示字符。 我如何解决这个问题?提前谢谢 - (BOOL) textFieldShouldBeginEditing:(UITextField *)textField { NSInteger componentType; BOOL isEditable = YES; for (int i = 0; i < self.screenComponen

我正在创建动态屏幕和动态创建文本字段 当我触摸文本字段并开始书写时,我的键盘响应很慢,需要大约3-4秒才能在屏幕上显示字符。 我如何解决这个问题?提前谢谢

    - (BOOL) textFieldShouldBeginEditing:(UITextField *)textField
{
    NSInteger componentType;
    BOOL isEditable = YES;


    for (int i = 0; i < self.screenComponentData.count; i++)
    {
        if ([self.keyboardType[i] intValue] == NUMERIC)
        {
            [textField setKeyboardType:UIKeyboardTypeNumberPad];

        }
        else if([self.keyboardType[i] intValue] == ALPHA)
        {
            [textField setKeyboardType:UIKeyboardTypeAlphabet];

        }
        else if([self.keyboardType[i] intValue] == ALPHANUMERIC)
        {
            [textField setKeyboardType:UIKeyboardTypeDefault];
        }

        NSString *str = [self.entityMap objectAtIndex:i];
//        str = [str substringFromIndex:2];
        if (textField.tag == [str intValue])
        {
          componentType = [self.screenComponentData[i][3] intValue];
            if ([self.screenComponentData[i][7] characterAtIndex:27]  == NON_EDITABLE)
            {
                isEditable = NO;
            }
            break;
        }
    }

    if (componentType == DATE_PICKER || componentType == TIME_PICKER || componentType == VALUE_PICKER)
    {
        [self textFieldTouched:textField];
        return NO;
    }
    else if(isEditable == NO)
    {
        //Dont show picker  & dont allow user to edit too.SHOW DEFAULT TEXT
        return NO;
    }
    else
    {
        return YES;
    }
}


- (void) textFieldTouched:(UITextField *)textField
{
    NSArray *test1;
    NSArray *compoType;
    NSArray *tag_Table_Name;  //<--table to where to get data
    for (int index = 0; index < self.componentType.count ; index++) {
//   pooja's code'
            if (textField.tag ==60  ||textField.tag ==865 ||textField.tag ==1202 || textField.tag==48)
             {

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];


            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
        test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@",tag_Table_Name[0][0]]];

                 if (self.textField.tag== 61)  {
                        textField.text=@"";
                 }

        }else if (textField.tag==61){

         tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@ WHERE COL2='%@'",tag_Table_Name[0][0],self.codeString]];

        }else if (textField.tag==1159){

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@",tag_Table_Name[0][0]]];


        }else if (textField.tag ==1760){

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];


            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@",tag_Table_Name[0][0]]];


        }else if (textField.tag==55){

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@ WHERE COL2='%@'",tag_Table_Name[0][0],self.codeString]];

        }else if (textField.tag==861){

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@ WHERE COL2='%@'",tag_Table_Name[0][0],self.codeString]];

        }else if (textField.tag==108 ||textField.tag == 1154 ||self.textField.tag==66){

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@",tag_Table_Name[0][0]]];

        }else if (textField.tag==1153 ){

            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
            test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@",tag_Table_Name[0][0]]];

        }

        else{
            tag_Table_Name=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL13 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];

            compoType=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL3 FROM %@ WHERE COL0='%@' and COL2='%ld'",TBSYS0001,self.screenId,(long)textField.tag]];
           test1=[DBOperator getDataForQuery:[NSString stringWithFormat:@"SELECT COL1 FROM TB%@",tag_Table_Name[0][0]]];
        }

        if (textField.tag == 64){


            self.tagForFollowUpDate = 64;
            self.configure.getFollowConfigDate = self.tagForFollowUpDate;
        }

        if (textField.tag == 45){


            self.tagForDOB = 45;
            self.configure.getDOB = self.tagForDOB;
        }
    }

        self.textfieldTAG = textField.tag;

    NSInteger compo=[compoType[0][0]intValue];
    //    NSLog(@"COMPO->%d",compo);

    switch (compo) {
        case DATE_PICKER:
            [self displayDatePicker:textField];
            break;

        case TIME_PICKER:
            [self displayTimePicker:textField];
            break;

        case VALUE_PICKER:
        {
            if (self.popOver != nil && [self.popOver isPopoverVisible])
            {
                [self.popOver dismissPopoverAnimated:YES];
            }



            RMPickerViewController *pickerVC = [RMPickerViewController pickerController];
            pickerVC.delegate = self;
            pickerVC.backgroundColor = [UIColor whiteColor];
            //            pickerVC.tintColor = [UIColor yellowColor];
            //            pickerVC.selectedBackgroundColor = [UIColor yellowColor];

            if (self.commanArray != nil && self.commanArray.count > 0)
            {
                [self.commanArray removeAllObjects];
            }
            [self.commanArray addObjectsFromArray:[self getdropListDataWithValue:test1]];  //<---  Value Picker
            [pickerVC showFromRect:textField.frame  inView:self.scrollView];

            break;
        }

        default:
        {
            //To get the values for making the syncData string
            for (int i = 0; i < self.screenComponentData.count; i++)
            {
                NSString *str=[self.entityMap objectAtIndex:i];
                //        str = [str substringFromIndex:2];
                if (textField.tag == [str intValue])
                {
                    [self.valueArray replaceObjectAtIndex:i withObject:textField.text];
                    [self.savingArray replaceObjectAtIndex:i withObject:textField.text];

                    break;
                }
            }

            [textField setKeyboardType:UIKeyboardTypeDefault];

            break;
        }
    }//end of switch case;
;

}// end of textFieldTouched
-(BOOL)textField应该开始编辑:(UITextField*)textField
{
NSInteger组件类型;
BOOL isEditable=是;
对于(int i=0;i[self.commanArray addObjectsFromArray:[self-getdropListDataWithValue:test1]];//确保主线程不忙,这可能是后台任务正在运行,这会减慢进程。textfield可能没有问题


尝试检查一些在后台工作的循环或同步任务。

您使用的是真实设备还是模拟器?能否在创建和填充文本字段的位置发布一些代码?此外,如果您实现了文本字段委托方法,请发布文本字段委托方法的代码。请发布shouldchangeCharactersRange委托方法的代码。您正在执行以下操作:在这个委托方法中有一个很长的处理过程,所以这是原因之一。我们使用的是真实设备iPad minihi,但我们没有使用shouldChangeCharactersRange方法。