1

appdelagteクラスのnavigationcontrollerに画像を追加しました。はいを設定します

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    loginViewController = [[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil];

    [self.window addSubview:_navController.view];

    _navController.navigationBarHidden = NO;
    navimage = [[UIImageView alloc] init];
    navimage.frame = CGRectMake(300, 18, 177, 47);

    navimage.image = [UIImage imageNamed: @"logo.png"];  

    [_navController.view addSubview:navimage];
    [self.window makeKeyAndVisible];
    return YES;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return YES;
}  

ただし、ナビゲーション画像の位置は変わりません。フレームは両方のモードで同じままです。

ナビゲーションコントローラーの画像の場合、どのように解決されるか教えてください。

4

2 に答える 2

1
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    return YES;
}

上記のコードはUIViewControllerクラス(LoginViewControllerあなたの場合)で書く必要がありますが、では書かないでAppDelegateください。

また、縦向きのみが必要な場合は、次を使用してください。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    return UIInterfaceOrientationIsPortrait(toInterfaceOrientation);
}
于 2012-04-12T11:19:58.250 に答える
1

これをコントローラーのviewDidLoadメソッドに追加し、コントローラーのshouldAutorotateToInterfaceOrientationに追加する必要があります。

-(void)viewDidLoad{
 navimage = [[UIImageView alloc] init];
 navimage.frame = CGRectMake(300, 18, 177, 47);

 navimage.image = [UIImage imageNamed: @"logo.png"];  

 [_navController.view addSubview:navimage];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
 return UIInterfaceOrientationIsPortrait(toInterfaceOrientation);
}
于 2012-04-12T11:24:52.023 に答える