私はiOS7のみを対象としています。問題iOS 7でキーボードが表示されているときの「サイズ変更」UITextView
UITextView
キーボードが表示されているときに「サイズ変更」したいので、キーボードの背後に隠れるのではなく、すべてのテキストを見ることができます。私はこれまで、いくつかの異なるアプローチを検討してきた
...
1)UITextView
キーボードショーのフレームを変更します。
次の質問は、私はこのアプローチを持っている同じ問題の詳細 - 正しく設定されているフレームにもかかわらず、最後の行/カーソルがUITextView
の境界を超えて拡張されますので、視界の外にある:
UITextView cursor below frame when changing frame
この効果は、次のスクリーンショットから見ることができます。 UITextView
には緑の背景があります。赤い背景のあるUIView
に追加されました。カーソルが...
2であり、矢印は、私は、これは/好ましいアプローチを推奨することを信じてUITextView
にcontentInset
プロパティを変更)を示しています。注、私は消える/表示されるキーボードに基づいてビューのサイズを変更するためのAppleのドキュメントを読んで:私のコードで
が、私は何の効果も得ていないよ、私はUIEdgeInsets
の下のコンポーネントを変更したとき。
同じ例、赤UIView
上UITextView
緑、テキストは、キーボードの下に消える:
- (void)keyboardWillShow:(NSNotification*)notification
{
CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets insets = _textView.contentInset;
insets.bottom += keyboardSize.height;
_textView.contentInset = insets;
_textView.scrollIndicatorInsets = insets;
}
注:scrollIndicatorInsets
そしてここでは、コードです部分はうまく動作します。スクリーンショットで描写するのは難しいですが、スクロールインジケータは適切な場所で開始および停止し、正しいサイズで表示されます。
私は人々が同じような問題を抱えている質問をたくさん読んだ。
3)は、この質問の答えはiOSの7にtextContainerInset
代わりのcontentInset
を使用することを提案UITextView
にtextContainerInset
を変更する:
UITextView contentInset not working in UITextView on iOS 7?
私もこれを試してみたが、まだUITextView
のサイズを変更することはできません。好適な/正しいアプローチである
UITextView content Inset Bottom not working iOS7
質問
- 、
textContainerInset
:この質問で、 'マン' も
contentInset
とtextContainerInset
の両方に問題を有していますまたはcontentInset
? - 上記のコードで
contentInset
を設定すると、何か不足していますか?私は設定する必要がある何か他にありますか? - は、iOS 7のこれらのバグですか?
おかげ
あなたは 'UIKeyboardFrameEndUserInfoKey'代わりの開始を使用してみました:
https://github.com/steipete/PSPDFTextView
をここでより多くの情報ですか? Beginは最終的なサイズを正しく表現していない可能性があります。 – gdavis
提案していただきありがとうございますが、問題はキーボードのサイズではありません。私はそれが正しいことを確認できることを確認します。私はUITextViewがiOS 7とバグがあることを他の人から見てきました...私の使用からは、上記のアプローチ(1)の原因がバグだと思われます。アプローチ(2)と(3)については、私がAPIを正しく理解/使用しているかどうかはわかりません。 7.1はまだベータ版です。私たちはそれについて(まだ)話すことができるかどうかは分かりません。 –
UITextViewのインセットではなく、フレームのサイズを変更するとどうなりますか?キーボードのフレームをUITextViewのスーパービューに変換し、交差を行ってビューのサイズをどれだけ大きくするかを確認できます。以前私はいくつかのプロジェクトでこれを成功させました。 – gdavis