0

いくつかの概念を誤解しているように見えるので、ガイダンスが必要です。私が達成したいのは、UITextField の inputView として UIPickerView を持つことだけです。で簡単にできself.textField.inputView = self.pickerViewます。これに関する問題は、カーソルがまだ点滅していることと、BT キーボードを搭載したデバイスがテキストフィールドにテキストを入力できることです。そこで、ファーストレスポンダーとして機能するカスタム UIView について読みました。UIView をサブクラス化しcanBecomeFirstResponder、 、canResignFirstResponderbecomeFirstResponderおよびを追加しましresignFirstResponderた。それらはすべて yes を返します。問題は、ビューをタップしても何も起こらないことです。カスタムを定義してinputViewも役に立ちませんでした。何も起こらなかったかのように振る舞うだけです。

任意のガイダンスをいただければ幸いです。ありがとう、Z。

4

2 に答える 2

1

Custom TextField を作成し、次のメソッドをオーバーライドする必要があります。

- (CGRect)caretRectForPosition:(UITextPosition *)position
{
    return CGRectZero;
}

このカスタム テキスト フィールドを使用して、必要なテキスト フィールドを作成し、その入力ビューをピッカービューとして設定します。上記のメソッドは、点滅するカーソルを削除します。また、テキストが BT キーボードから入力されないようにするには、テキストフィールドのデリゲート メソッドでこれを行う必要があります。

// Bluetooth キーボードを使用してテキストをコピー アンド ペーストまたは編集できないようにします。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
        return NO;
}
于 2014-09-18T11:24:29.650 に答える