質問

iPadのカスタム入力メソッドを作成しています。システムキーボードを入力メソッドに置き換えて、その入力メソッドを介してテキストを入力できるようにしたいと考えています。

ドキュメントによれば、私がする必要があるのは、私のビューでinputViewプロパティを設定することだけで、システムキーボードの代わりに使用されます。キーボードを表示する限り、私はそれをしましたが、それは機能しますが、実際にテキストをテキストビューに入力するにはどうすればよいですか?

おそらくテキストビューではUikeyInputを採用する必要があり、プロトコルのメソッドを使用してテキストを入力できますが、実際にはUiteXtViewはこのプロトコルを採用していません。 conformsToProtocol:@protocol(UIKeyInput) NOおよび「DeleteBackwards」は実装されていません(挿入textとhastextが実装されています。それに加えて、「挿入text」は原因となりません。 textViewDidChange: 呼び出される委任方法。明らかに私は送る必要があります UIKeyInput 他のオブジェクト(フィールドエディター?)への方法ですが、どうすれば入手できますか?

何か案は?

役に立ちましたか?

解決

キーボードにいくつかのボタンがあると仮定すると、なぜあなたがあなたのキーのセレクターを設定し、各ボタンがクリックされたときにTextViewsテキストに追加できないのはなぜですか、私はこれを実行しました...ここに実際に行う方法は次のとおりです。 「uitextViewに書くと、この方法は入力ビューによって定義されたカスタムプロトコルの一部であり、ボタンが押されるたびにデリゲートに呼び出されます。プッシュされます。

-(void)userDidInputString:(NSString*)s
{
    NSRange r=padView.textView.selectedRange; 
    if([s isEqualToString:@"ret"])
        s=@"\n";
    if([s isEqualToString:@"<-"])
    {
        NSString *text=padView.textView.text;   
        if(r.location>0)
        {
            r.location=r.location-1;
            r.length+=1;
        }
                [padView.textView setScrollEnabled:YES];
        padView.textView.text=[text stringByReplacingCharactersInRange:r   withString:@""];
        [padView.textView setScrollEnabled:NO];
        r.length=0;
        [padView.textView setSelectedRange:r];
        [note setNoteText:padView.textView.text];

    }
    else {
        NSString *text=padView.textView.text;   

        [padView.textView setScrollEnabled:YES];
        padView.textView.text=[text stringByReplacingCharactersInRange:r withString:s];
                [padView.textView setScrollEnabled:NO];
        r.location=r.location+[s length];
        //whenever you modify the text by setting the UITextViews text property it resets the cursor to the end of the text view, we have this line below to go back to where the user left off
        [padView.textView setSelectedRange:r];


            }


}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top