imageView一直受到navigationItem的阻碍

时间:2014-06-19 10:38:10

标签: ios objective-c

我找到了一些示例代码。

按照AppDelegate.m

中的代码显示视图
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.

    UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

    if (notification) {
        NSLog(@"AppDelegate didFinishLaunchingWithOptions");
        application.applicationIconBadgeNumber = 0;
    }

    AITPreviewViewController *previewViewController = [[AITPreviewViewController alloc] initWithNibName:@"AITPreviewViewController" bundle:nil];

    navigationController = [[UINavigationController alloc]initWithRootViewController:previewViewController];

    [self.window setRootViewController:navigationController] ;

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

以下图片位于AITPreviewViewController.xib

enter image description here

但是当它在iPhone上运行时,View不正常,它显示如下图所示。

顶部的three imageView一直在阻碍navigationItem

enter image description here

但是当我转向其他View时,请使用以下代码返回。

UIViewController *Previewer = [[AITPreviewViewController alloc] initWithNibName:@"AITPreviewViewController" bundle:nil] ;

    Previewer.edgesForExtendedLayout = UIRectEdgeNone;

    [self.navigationController pushViewController:Previewer animated:YES];

它显示正常的视图,如下图所示。

enter image description here

视图首次显示不正常... 这种情况怎么了?

是否可以使用Auto-layout来解决此问题?

3 个答案:

答案 0 :(得分:1)

如果您不想隐藏导航栏,那么在您的xib中只需进行一些更改即可 Just change the Top Bar property from none to as shown in image

只需将Top Bar属性从none更改为image,如图所示。它会自动将您的图像放在导航栏下面

答案 1 :(得分:0)

尝试增加' Y'来自界面构建器的3个图像的值。选择每个图像,然后转到尺寸检查器。在那里你会看到一些价值观。找到Y值并增加它。这会将图像向下推。

答案 2 :(得分:0)

如果您想根据“AITPreviewViewController.xib”仅显示UI 然后,您可以隐藏导航栏。