選択した単位に応じて、ピッカーまたはキーボードのいずれかを表示しようとしています。
メトリックの場合はキーボードなので、ユーザーは 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;
}