Вот некоторые контроллеры представления, которые у меня есть: tabBarController , navigationBarController , viewController и imageView .
Иерархияявляется то, что: tabBarController является корневым контроллером, он включает в себя navigationBarController .И viewController (который включает imageView ) выдвигается navigationBarController .
Таким образом, вопрос, когда я коснулся imageView , как изменить его размер до полноэкранного с плавной анимацией.Обратите внимание, я не хочу скрывать NavigationBar и TabBar.
Я пробовал это с помощью setFrame
, однако, оно покрывается navigationBarController и tabBarController .
Iпробовал presentModalViewController:
, но он терял непрерывность.
Я также пытался сбросить rootViewController
в viewController , но в результате получилась сломанная анимация.: (
Спасибо за любые предложения!
Тестовый код
UIViewController * viewController = [[UIViewController alloc] init];
[viewController.view setFrame:CGRectMake(0.0f, 0.0, 320.0f, 480.0f)];
[viewController.view setBackgroundColor:[UIColor redColor]];
UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)];
[imageView setBackgroundColor:[UIColor yellowColor]];
[imageView setUserInteractionEnabled:YES];
[viewController.view addSubview:imageView];
[imageView release];
UINavigationController * navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[viewController release];
UIViewController * anotherTabViewController = [[UIViewController alloc] init];
[anotherTabViewController.view setFrame:CGRectMake(0.0f, 0.0, 320.0f, 480.0f)];
[anotherTabViewController.view setBackgroundColor:[UIColor blueColor]];
UITabBarController * tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController, anotherTabViewController, nil];
[navigationController release];
[anotherTabViewController release];
[self.window setRootViewController:tabBarController];
Здесь я пишу простой код для тестирования. Теперь не волнует действие касания. IИнтересно, как установить imageView в полноэкранный режим (ширина: 320, высота: 480). Но он ограничен панелью навигации и панелью вкладок. Я знаю, что рамка относится к супер-представлению. Как решить эту проблему?