-1

私は4つのUitextfieldsを持っています。1つのテキストフィールドにアクションシートを設定し、テキスト入力用に3つの他のフィールドを設定しました.hereは私のコードです..

   - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{    

    if(textField.tag==3)// tag will be integer
    {    
        NSLog(@"ACTION SHEET WILL DISPLAY");    
        [textField setUserInteractionEnabled:YES]; 
        [textField resignFirstResponder];            
        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select" delegate:self cancelButtonTitle:@"OK" destructiveButtonTitle:nil otherButtonTitles:@"Manpower", @"Admin",@"Research" ,nil];
        actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
        [actionSheet showInView:self.view]; 
    }

    return YES;

}


-(BOOL)textFieldShouldReturn:(UITextField*)textField {

    if (textField.tag) {            
        UIResponder *nextField = [textField viewWithTag:(textField.tag + 1)];            
        [nextField becomeFirstResponder];            
    }

    else {            
        // Unknown field, just resign first responder.            
        [textField resignFirstResponder];            
    }

    return NO;       
}

今私の問題は、3 つのテキストフィールドのいずれかからキーボードの TAB キーを押すと、アクションシートが表示されることです! 、ただし、テキストフィールドを個別にクリックするとうまく機能します。

4

2 に答える 2

1

xibのさまざまなテキストフィールドにさまざまなタグを付けるだけで、テキストフィールドの名前と比較するだけで、タグを比較してそのテキストフィールドにNOを返すため、アクションシートが次のように開いたときにキーボードがポップアップしません...

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{    

 if(textField.tag==your textfield tag)// tag will be integer
 {    
  NSLog(@"ACTION SHEET WILL DISPLAY");    
    [textField setUserInteractionEnabled:YES]; 
    [textField resignFirstResponder];            
        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select" delegate:self cancelButtonTitle:@"OK" destructiveButtonTitle:nil otherButtonTitles:@"Manpower", @"Admin",@"Research" ,nil];
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[actionSheet showInView:self.view]; 
return NO;         
} 
 else
{
  return YES;
}

 }

動作しているかどうか教えてください...

ハッピーコーディング...!!!!!

于 2012-12-14T06:30:10.123 に答える
1

それはあなたを助けるかもしれません

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{    

    if(textField == dept_label)
 {    
   NSLog(@"ACTION SHEET WILL DISPLAY");    
    [textField setUserInteractionEnabled:YES]; 
    [textField resignFirstResponder];            
        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select" delegate:self cancelButtonTitle:@"OK" destructiveButtonTitle:nil otherButtonTitles:@"Manpower", @"Admin",@"Research" ,nil];
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[actionSheet showInView:self.view];         

 return NO;
} 


else
{
return YES;
}       
}
于 2012-12-14T06:38:02.517 に答える