0

さて、デバイスが横向きになったときにビューに少し問題があったので、次のコードでテキストフィールドの場所を変更することにしました:

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
UIInterfaceOrientation orientation = [[UIApplication sharedApplication]statusBarOrientation];

NSLog(@"SPIN");


if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown) {

    CGRect frame = [self.a frame];
    frame.origin.x = 20;
    frame.origin.y = 57;
    [self.a setFrame:frame];

    CGRect frame2 = [self.b frame];
    frame2.origin.x = 20;
    frame2.origin.y = 132;
    [self.b setFrame:frame2];

    CGRect frame3 = [self.c frame];
    frame3.origin.x = 20;
    frame3.origin.y = 207;
    [self.c setFrame:frame3];


} else {

    CGRect frame = [self.a frame];
    frame.origin.x = 83;
    frame.origin.y = 21;
    [self.a setFrame:frame];

    CGRect frame2 = [self.b frame];
    frame2.origin.x = 204;
    frame2.origin.y = 21;
    [self.b setFrame:frame2];

    CGRect frame3 = [self.c frame];
    frame3.origin.x = 330;
    frame3.origin.y = 21;
    [self.c setFrame:frame3];



}

}

それは問題なく機能し、すべてがサポートされていた場所に移動しました。問題は、テキストフィールドのいずれかをクリックして何かを書き込むと、すべてがバグアウトし、次のようになります。

ええと..画像を投稿するには、少なくとも 10 の評判が必要なようです。代わりに、画像が示した内容の説明を次に示します。

画像は、3 つのセグメント化されたコントロールと 3 つのテキストフィールドが画面の一番上に積み重ねられていることを示しています

だから私はプロというよりは愛好家なので、これがばかげた質問である場合は申し訳ありませんが、ここで何が間違っているのですか? さらに、あなたの見解を適応させるためのより良い方法はありますか?

4

1 に答える 1