0

選択した単位に応じて、ピッカーまたはキーボードのいずれかを表示しようとしています。

メトリックの場合はキーボードなので、ユーザーは 300g と入力できますが、インペリアルの場合はピッカーなので、ユーザーは 3 2/3 カップを選択できます。

ピッカーは表示されますが、キーボードを非表示にすることはできません。rejectFirstResponder は機能しません - 私はそれがファーストレスポンダではないと仮定しています。

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

switch (_Unit) {
    case 1: // metric - show the keyboard
        [self unitHidePicker:nil];
        break;
        
    case 2: // oz & fl/oz
        
        [self unitShowPicker];
        [textField resignFirstResponder];
        break;

    case 3: // US Cups
        [self unitShowPicker];
        [textField resignFirstResponder];
        break;
}

return YES;
}
4

1 に答える 1

0

最も簡単な方法は、UIPickerview を表示しているときにボタンを使用し、それ以外の場合は textField を表示することです。

または、ピッカーを操作Return NO; するケース ループ内を設定します。

于 2013-02-14T06:49:03.053 に答える