0

私はTableViewを持っています。各行にはテキストフィールドがあり、3 つのテキストフィールドには UIPickerView があり、2 つは編集可能です。問題は、編集可能なテキストフィールドのキーボードをタップした後にピッカーのテキストフィールドをタップしても消えないことです。コードは次のとおりです。

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    tf_Selected = (UITextField*)textField;
    if ([textField.placeholder isEqualToString:@"Work Order "]) {
    if (dicWorkOrderNoData.count > 0) 
    {
        [ActionSheetStringPicker showPickerWithTitle:@"Select Work Order" rows:[dicWorkOrderNoData   allValues] initialSelection:0 target:self successAction:@selector(selectPicker_ActionHandler:)  cancelAction:@selector(cancelSheet_ActionHandler) origin:textField];
    }
    else if (textField.tag == DateField_UptoCurrentDate)
    {
        [ActionSheetDatePicker showPickerWithTitle:@"Select Date" datePickerMode:UIDatePickerModeDate  selectedDate:[NSDate date] maximumDate:[NSDate date] target:self action:@selector(selectDate_ActionHandler:) cancel:@selector(cancelSheet_ActionHandler) origin:textField];
        return NO;
    }
    else
    {
        return YES;
    }
}
4

2 に答える 2

1

を使ってみてください[textField resignFirstResponder];

詳細はこちら

于 2013-07-30T09:26:58.630 に答える
0

ユーザーが実際に pickerview の項目を選択したか、単にスクロールしたかを確認できないため、UITextField の inputAccessoryView ツールバーに [戻る、次、完了] ボタンを割り当てることをお勧めします。

オプションがほとんどない場合は、代わりに UIActionSheet を使用してください。

于 2013-07-30T12:28:05.943 に答える