0

假设我的应用中有 4 个屏幕(iPhone 视图控制器),我喜欢在它们之间导航。例如:

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

这当然只是一个例子,实现这一目标的正确方法是什么?

4

1 回答 1

1

乌迪我,

实现此类导航的正确方法是通过UINavigationController. 来自 Apple 文档:

该类UINavigationController实现了一个专门的视图控制器来管理分层内容的导航。此导航界面可以有效地呈现您的数据,也使用户更容易导航该内容。此类通常按原样使用,但在 iOS 6 及更高版本中可能是子类。

以下 API 允许您在堆栈中导航

– 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;

希望有帮助。

PS代码是用objective-c 编写的,但稍作修改也适用于MonoTouch。例如,使用this代替。self

于 2013-04-16T21:40:43.093 回答