デバイスの向きによっては、uiviews に問題があります...
私が抱えている主な問題は、
UIDeviceOrientationFaceUp
UIDeviceOrientationFaceDown
私のビューをいじっています私はポートレートとランドスケープ(左右)のみをサポートしたいので、デバイスの向きが変わるとビューが正しく変更されます..
これは私が現時点で実装したものです。基本的には、画面の下部から上にスクロールする UIView であり、このビューにはユーザーが選択して別のビューをロードできるいくつかのボタンがあります。
#pragma jumpBarButtons
- (void)jumpBarButtonPosition
{
//orientation stuff
if (jumpBar.isViewLoaded) {
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
switch (orientation) {
case UIDeviceOrientationPortrait:
{
NSLog(@"Portrait");
// Row one
jumpButton1.frame = CGRectMake(18.45, 23.0, 57.0, 57.0);
jumpButton2.frame = CGRectMake(93.9, 23.0, 57.0, 57.0);
jumpButton3.frame = CGRectMake(169.35, 23.0, 57.0, 57.0);
jumpButton4.frame = CGRectMake(244.8, 23.0, 57.0, 57.0);
// Row tow
jumpButton5.frame = CGRectMake(18.45, 95.0, 57.0, 57.0);
jumpButton6.frame = CGRectMake(93.9, 95.0, 57.0, 57.0);
jumpButton7.frame = CGRectMake(169.35, 95.0, 57.0, 57.0);
jumpButton8.frame = CGRectMake(244.8, 95.0, 57.0, 57.0);
// Row three
jumpButton9.frame = CGRectMake(18.45, 167.0, 57.0, 57.0);
jumpButton10.frame = CGRectMake(93.9, 167.0, 57.0, 57.0);
jumpButton11.frame = CGRectMake(169.35, 167.0, 57.0, 57.0);
jumpButton12.frame = CGRectMake(244.8, 167.0, 57.0, 57.0);
// Row four
jumpButton13.frame = CGRectMake(18.45, 239.0, 57.0, 57.0);
jumpButton14.frame = CGRectMake(93.9, 239.0, 57.0, 57.0);
jumpButton15.frame = CGRectMake(169.35, 239.0, 57.0, 57.0);
jumpButton16.frame = CGRectMake(244.8, 239.0, 57.0, 57.0);
}
break;
case UIDeviceOrientationLandscapeLeft:
case UIDeviceOrientationLandscapeRight:
{
viewSpaceHeight = 207;
viewSpaceWidth = 480;
// Row one
jumpButton1.frame = CGRectMake(19.7, 9.0, 57.0, 57.0);
jumpButton2.frame = CGRectMake(96.42, 9.0, 57.0, 57.0);
jumpButton3.frame = CGRectMake(173.13, 9.0, 57.0, 57.0);
jumpButton4.frame = CGRectMake(249.84, 9.0, 57.0, 57.0);
jumpButton5.frame = CGRectMake(326.55, 9.0, 57.0, 57.0);
jumpButton6.frame = CGRectMake(403.26, 9.0, 57.0, 57.0);
// Row tow
jumpButton7.frame = CGRectMake(19.7, 75.0, 57.0, 57.0);
jumpButton8.frame = CGRectMake(96.42, 75.0, 57.0, 57.0);
jumpButton9.frame = CGRectMake(173.13, 75.0, 57.0, 57.0);
jumpButton10.frame = CGRectMake(249.84, 75.0, 57.0, 57.0);
jumpButton11.frame = CGRectMake(326.55, 75.0, 57.0, 57.0);
jumpButton12.frame = CGRectMake(403.26, 75.0, 57.0, 57.0);
// Row three
jumpButton13.frame = CGRectMake(19.7, 141.0, 57.0, 57.0);
jumpButton14.frame = CGRectMake(96.42, 141.0, 57.0, 57.0);
jumpButton15.frame = CGRectMake(173.13, 141.0, 57.0, 57.0);
jumpButton16.frame = CGRectMake(249.84, 141.0, 57.0, 57.0);
}
break;
//..
縦向きの場合は 16 個の 4,4,4,4 アイコンがあり、横向きの場合はアイコンは 6,6,4 です。デバイスを上向きまたは下向きにすると、これらのボタン ビューがすべて消えてしまいます。これを止めるにはどうすればよいでしょうか。