2013-04-16 2 views
0

Допустим, у меня в моем приложении 4 экрана (контроллеры iPhone), и мне нравится перемещаться между ними. Например:Переключение между диспетчерами представлений в MonoTouch

> 1 ----> 2 
> 2 ----> 3 
> 3 ----> 2 (With new data) 
> 2 ----> 4 
> 4 ----> 1 

Это от курса просто пример, что правильный путь для достижения этой цели?

ответ

1

Уди I,

правильный путь для достижения такого типа навигации через UINavigationController. От компании Apple документации:

UINavigationController класса реализует специализированный контроллер представления, которое управляет навигацией иерархического контента. Этот навигационный интерфейс позволяет эффективно представлять ваши данные, а также облегчает пользователю навигацию по этому контенту. Этот класс обычно используется как есть, но может быть подклассифицирован в iOS 6 и более поздних версиях.

Следующие интерфейсы позволяют перемещаться в стеке

– pushViewController:animated: 
– popViewControllerAnimated: 
– popToRootViewControllerAnimated: 
– popToViewController:animated: 

Если вам нужно передать данные между контроллерами, просто вводить их как следующее:

// within the third controller 

UIViewController* secondController = // new controller 
secondController.dataToInject = // ... 
[self.navigationController pushViewController:secondController animated:YES]; 

где dataToInject может быть определенном в SecondController как

@property (nonatomic, retain) id dataToInject; 

Надеюсь, что помогает.

P.S. Код написан на объективе-c, но с небольшими модификациями действителен также для MonoTouch. Используйте this вместо self, например.

+0

Спасибо за информацию, это действительно помогло. –