1

ビューの右側にサブビューがあります。これは、横向きモードでのみ表示/画面上に表示されます (Facebook のチャット ビューによく似ています)。自動レイアウトがオフになっていることに注意してください。

ユーザーが左にスワイプして縦向きモードでこのビューを表示できるようにしたいと考えています。

ここに画像の説明を入力

Interface builder で設定されたビューの自動サイズ変更マスクは次のとおりです。

ここに画像の説明を入力

赤いビューはまだ表示されていますが、赤いビューの右側にあり、画面外にあります。

フレームを変更しても、ランドスケープ モードに戻した後以外は効果がなく、ポートレート モードに切り替えてもビューはその位置を維持します。サイズ変更マスクが原因だと思いますが、それを none に設定しても役に立ちません。

-(void)handlePanGesture:(UIPanGestureRecognizer*)pan
{    
  [self.rightSideView setFrame:CGRectMake(100, 0, 
                                          self.rightSideView.frame.size.width,
                                          self.rightSideView.frame.size.height)];
}
4

2 に答える 2

0

これを試して:

dispatch_async(dispatch_get_main_queue(), ^{
                 [self.rightSideView setFrame:CGRectMake(100, 0, 
                                          self.rightSideView.frame.size.width,
                                          self.rightSideView.frame.size.height)];
            });
于 2013-05-22T15:16:14.817 に答える
0

ビューの幅は、ランドスペースの 256 ピクセルからポートレートの 0 に変更されました。柔軟な幅を設定解除すると問題が解決しました

于 2013-05-23T06:20:02.807 に答える