0

pagingViewというUIScrollViewのサブクラスがあります。デバイスが回転したときにアニメーション化する必要があります(これはこのviewControllerにのみ固有であるため、plistでランドスケープモードがオフになります)。

すべてのclipsToBoundsプロパティとcontentResizeプロパティ、および自動サイズ変更マスクを変更しましたが、どれも機能していないようです。私が使用しているコードは次のとおりです。

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIInterfaceOrientationLandscapeLeft)
{

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
 graph.frame = CGRectMake(pagingView.frame.origin.x, pagingView.frame.origin.y-200, pagingView.frame.size.width*1.5, pagingView.frame.size.height*2);
[UIView commitAnimations];

}

それらをブロックに変更し、すべてのプロパティを変更しましたが、コードを実行すると、pagingViewを画面の200ピクセル上に移動するだけで、境界は変更されません(境界も変更しようとしました)プロパティも)。何か助けていただければ幸いです。それが私が見逃している単純なことであることを願っていますが、解決策を探すのに何時間も費やしました。私が得た最も近い潜在的な答えは、おそらくそれがレイヤープロパティと関係があるのでしょうか?

前もって感謝します!

4

1 に答える 1

1

最近、デバイスの回転後にスクロールビューの境界が変わらないという同様の問題がありました。最終的に見つけた解決策は、ストーリーボードのスクロール ビューの 4 つの側面すべてに制約を追加することです。自動レイアウト、iOS7、および XCode5 をシミュレーター モードで使用しています。制約がなければ、スクロール ビューは、たとえば、iPhone 3.5" シミュレーターで (320,480) の固定サイズを保持します。診断に苦労していたときは非常にイライラしました。

于 2013-11-07T19:38:45.890 に答える