私は iOS アプリケーションに取り組んでおり、ビューの 1 つで、ユーザーのコメントを読み込んでコメントを投稿できるようにする必要があります。ユーザーがテキストフィールドをタップしてコメントを入力すると、キーボードが表示されるまで、すべてがうまく見えました。以下に示すように、UIView のテキストが textfield と重なっています。
ご覧いただきありがとうございます。
私は iOS アプリケーションに取り組んでおり、ビューの 1 つで、ユーザーのコメントを読み込んでコメントを投稿できるようにする必要があります。ユーザーがテキストフィールドをタップしてコメントを入力すると、キーボードが表示されるまで、すべてがうまく見えました。以下に示すように、UIView のテキストが textfield と重なっています。
ご覧いただきありがとうございます。
iOS では、キーボード対応ビュー内のすべてのビュー要素を UIScrollView に追加するのが通例です。このようにして、キーボードが上にスライドすると、他の要素が一緒に上にスライドして、邪魔にならないようにします。
幸運なことに、誰かがキーボードを自動的に回避する UIScrollView を実装しているので、ビュー要素をこれらのいずれかに挿入するだけで、すべてが完全に機能するはずです。
画面にテキストが少しだけ表示されるだけでなく、UIScrollView を使用する必要があります。次に、 を使用し[self.scrollView setContentOffset:CGPointMake(0, offset) animated:YES];
て、キーボードに対してテキストを上 (または下) に移動できます。
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
ます。