1

私は iOS アプリケーションに取り組んでおり、ビューの 1 つで、ユーザーのコメントを読み込んでコメントを投稿できるようにする必要があります。ユーザーがテキストフィールドをタップしてコメントを入力すると、キーボードが表示されるまで、すべてがうまく見えました。以下に示すように、UIView のテキストが textfield と重なっています。

ここに画像の説明を入力

ご覧いただきありがとうございます。

4

4 に答える 4

4

iOS では、キーボード対応ビュー内のすべてのビュー要素を UIScrollView に追加するのが通例です。このようにして、キーボードが上にスライドすると、他の要素が一緒に上にスライドして、邪魔にならないようにします。

幸運なことに、誰かがキーボードを自動的に回避する UIScrollView を実装しているので、ビュー要素をこれらのいずれかに挿入するだけで、すべてが完全に機能するはずです。

https://github.com/michaeltyson/TPKeyboardAvoiding

于 2013-05-31T22:26:11.083 に答える
1

画面にテキストが少しだけ表示されるだけでなく、UIScrollView を使用する必要があります。次に、 を使用し[self.scrollView setContentOffset:CGPointMake(0, offset) animated:YES];て、キーボードに対してテキストを上 (または下) に移動できます。

于 2013-05-31T23:07:31.313 に答える
0

inputAccessoryView投稿ボタンと に使用しますUITextField。このような:

-(void)addAccessoryViewOnTextView
{
    UIToolbar *keyboardHeaderView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 1024, 39)];

    keyboardHeaderView.tintColor = [UIColor blackColor];

    /* Here use your post button and textfield.
    UIBarButtonItem *nextBtn= [[UIBarButtonItem alloc]initWithTitle:@"Next" style:UIBarButtonItemStyleDone target:self action:@selector(nextEvent:)];
     UIBarButtonItem *prevBtn= [[UIBarButtonItem alloc]initWithTitle:@"Previous" style:UIBarButtonItemStyleDone target:self action:@selector(prevEvent:)];
    UIBarButtonItem *doneBtn= [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneEvent:)];*/

    UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    [keyboardHeaderView setItems:[NSArray arrayWithObjects: doneBtn,flexibleSpace,prevBtn, nextBtn, nil]];

    [yourTextField setInputAccessoryView:keyboardHeaderView];
    keyboardHeaderView = nil;

}

そして、このメソッドを初期化viewDidLoadする場所またはどこでも呼び出しUITextFieldます。

于 2013-06-01T03:48:57.157 に答える