2

_containerView という名前の UIView があり、この UIView 内に _codeTextView という名前のカスタム UITextView があります。アプリが読み込まれると、これらのビューが画面全体を占めますが、キーボードが表示されると、画面のサイズを変更したいと思います。

キーボードが表示されたら、次の方法を実行する必要があります。

- (void)keyboardAppears:(NSNotification *)notification
{
    _containerView.frame = CGRectMake(0, 0, 320, 216.0f);
    _codeTextView.frame = CGRectMake(0, 30, 290, 216.0f);
}

containerView は適切にサイズ変更されますが、その中の _codeTextView はサイズ変更されず、サイズ変更されない理由がわかりません。私はすでにさまざまなオプションを変更しようとしましたが、それは私を夢中にさせています:(

誰でも私を助けることができますか?

前もって感謝します!

4

1 に答える 1

8

あなたが説明したシナリオでプロジェクトを作成しました。setFrame は、Autolayout が無効になっているすべてのビューで機能しましたが、Autolayout が有効になっているとは機能しませんでした。

そのView ControllerのAutolayoutを有効にしていますか? setFrame は autolayout ではうまく機能しません。ビューをプログラムで調整するには、制約を使用する必要があります。(回答: setFrame と autolayout を同じビューで使用できますか? )

ここでいくつかのヘルプを見つけることができます: http://nszombie.com/2010/12/08/ConstraintBasedLayout.html

于 2013-01-02T22:11:28.750 に答える