Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy is my UINavigation controller off by 79 pixels
    primarykey
    data
    text
    <p>In the iphone everything works great.</p> <p>However when I look at my navigationbar frame it is -44? Iphone the y origin is 0.</p> <p>Is it supposed to be this? Now everything seems to be shifted up by 79 pixels.</p> <p>Any idea how to fix?</p> <p>When I rotate everything sizes ok it is just the initial landscape size that is wrong.</p> <p>adding to the view this code fixes it but is obviously not what I want to do: navigationController.view.superview.frame = CGRectMake(-79, 0, size.width, size.height);</p> <pre><code>StarTravelAppDelegate *appDelegate = (StarTravelAppDelegate *) [[UIApplication sharedApplication] delegate]; FirstMenuView *firstMenuView = [[[FirstMenuView alloc] init] autorelease]; // bac123ViewController *bac123 = [[bac123ViewController alloc] autorelease]; // UINavigationController *navigationController; // appDelegate.navController = [[[UINavigationController alloc] initWithRootViewController:firstMenuView] autorelease]; MyNavigationController *navigationController = appDelegate.navController; [navigationController pushViewController:firstMenuView animated:true]; CGSize size = [[CCDirector sharedDirector] winSize]; navigationController.view.superview.frame = CGRectMake(-79, 0, size.width, size.height); // UIView *view = [[CCDirector sharedDirector] view]; // [view addSubview:bac123.view]; // [view addSubview:navigationController.view]; navigationController.navigationBarHidden = true; </code></pre> <p>The app delegate:</p> <pre><code>@implementation MyNavigationController // The available orientations should be defined in the Info.plist file. // And in iOS 6+ only, you can override it in the Root View controller in the "supportedInterfaceOrientations" method. // Only valid for iOS 6+. NOT VALID for iOS 4 / 5. -(NSUInteger)supportedInterfaceOrientations { // iPhone only if( [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone ) return UIInterfaceOrientationMaskLandscape; // iPad only return UIInterfaceOrientationMaskLandscape; } // Supported orientations. Customize it for your own needs // Only valid on iOS 4 / 5. NOT VALID for iOS 6. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // iPhone only if( [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone ) return UIInterfaceOrientationIsLandscape(interfaceOrientation); // iPad only // iPhone only return UIInterfaceOrientationIsLandscape(interfaceOrientation); } // This is needed for iOS4 and iOS5 in order to ensure // that the 1st scene has the correct dimensions // This is not needed on iOS6 and could be added to the application:didFinish... -(void) directorDidReshapeProjection:(CCDirector*)director { if(director.runningScene == nil) { // Add the first scene to the stack. The director will draw it immediately into the framebuffer. (Animation is started automatically when the view is displayed.) // and add the scene to the stack. The director will run it when it automatically when the view is displayed. [director runWithScene: [SpaceScene scene]]; } } @end @implementation StarTravelAppDelegate @synthesize window=window_, navController=navController_, director=director_; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Create the main window window_ = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // CCGLView creation // viewWithFrame: size of the OpenGL view. For full screen use [_window bounds] // - Possible values: any CGRect // pixelFormat: Format of the render buffer. Use RGBA8 for better color precision (eg: gradients). But it takes more memory and it is slower // - Possible values: kEAGLColorFormatRGBA8, kEAGLColorFormatRGB565 // depthFormat: Use stencil if you plan to use CCClippingNode. Use Depth if you plan to use 3D effects, like CCCamera or CCNode#vertexZ // - Possible values: 0, GL_DEPTH_COMPONENT24_OES, GL_DEPTH24_STENCIL8_OES // sharegroup: OpenGL sharegroup. Useful if you want to share the same OpenGL context between different threads // - Possible values: nil, or any valid EAGLSharegroup group // multiSampling: Whether or not to enable multisampling // - Possible values: YES, NO // numberOfSamples: Only valid if multisampling is enabled // - Possible values: 0 to glGetIntegerv(GL_MAX_SAMPLES_APPLE) CCGLView *glView = [CCGLView viewWithFrame:[window_ bounds] pixelFormat:kEAGLColorFormatRGB565 depthFormat:0 preserveBackbuffer:NO sharegroup:nil multiSampling:NO numberOfSamples:0]; director_ = (CCDirectorIOS*) [CCDirector sharedDirector]; director_.wantsFullScreenLayout = YES; // Display FSP and SPF [director_ setDisplayStats:YES]; // set FPS at 60 [director_ setAnimationInterval:1.0/60]; // attach the openglView to the director [director_ setView:glView]; // 2D projection [director_ setProjection:kCCDirectorProjection2D]; // [director setProjection:kCCDirectorProjection3D]; // Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices if( ! [director_ enableRetinaDisplay:YES] ) CCLOG(@"Retina Display Not supported"); // Default texture format for PNG/BMP/TIFF/JPEG/GIF images // It can be RGBA8888, RGBA4444, RGB5_A1, RGB565 // You can change this setting at any time. [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888]; // If the 1st suffix is not found and if fallback is enabled then fallback suffixes are going to searched. If none is found, it will try with the name without suffix. // On iPad HD : "-ipadhd", "-ipad", "-hd" // On iPad : "-ipad", "-hd" // On iPhone HD: "-hd" CCFileUtils *sharedFileUtils = [CCFileUtils sharedFileUtils]; [sharedFileUtils setEnableFallbackSuffixes:NO]; // Default: NO. No fallback suffixes are going to be used [sharedFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"]; // Default on iPhone RetinaDisplay is "-hd" [sharedFileUtils setiPadSuffix:@"-ipad"]; // Default on iPad is "ipad" [sharedFileUtils setiPadRetinaDisplaySuffix:@"-ipadhd"]; // Default on iPad RetinaDisplay is "-ipadhd" // Assume that PVR images have premultiplied alpha [CCTexture2D PVRImagesHavePremultipliedAlpha:YES]; // Create a Navigation Controller with the Director navController_ = [[MyNavigationController alloc] initWithRootViewController:director_]; navController_.navigationBarHidden = YES; // for rotation and other messages [director_ setDelegate:navController_]; // set the Navigation Controller as the root view controller [window_ setRootViewController:navController_]; //[window_ addSubview: navController_.view]; // make main window visible [window_ makeKeyAndVisible]; return YES; } // getting a call, pause the game -(void) applicationWillResignActive:(UIApplication *)application { if( [navController_ visibleViewController] == director_ ) [director_ pause]; } // call got rejected -(void) applicationDidBecomeActive:(UIApplication *)application { [[CCDirector sharedDirector] setNextDeltaTimeZero:YES]; if( [navController_ visibleViewController] == director_ ) [director_ resume]; } -(void) applicationDidEnterBackground:(UIApplication*)application { if( [navController_ visibleViewController] == director_ ) [director_ stopAnimation]; } -(void) applicationWillEnterForeground:(UIApplication*)application { if( [navController_ visibleViewController] == director_ ) [director_ startAnimation]; } // application will be killed - (void)applicationWillTerminate:(UIApplication *)application { CC_DIRECTOR_END(); } // purge memory - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { [[CCDirector sharedDirector] purgeCachedData]; } // next delta time will be zero -(void) applicationSignificantTimeChange:(UIApplication *)application { [[CCDirector sharedDirector] setNextDeltaTimeZero:YES]; } - (void) dealloc { [window_ release]; [navController_ release]; [super dealloc]; } @end </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload