iphone-从一个视图移动到另一个视图

iphone-从一个视图移动到另一个视图,iphone,uiviewcontroller,Iphone,Uiviewcontroller,我正在开始iphone的开发,并试图从一种观点转移到另一种观点 我有一个主视图(最接近的PhotosViewController),它基本上充当我的应用程序的菜单。然后我有了第二个视图(显示最近的照片) 我来自网络(html)背景,所以我在这里试图用网络术语做的是单击最靠近的PhotosViewController视图上的按钮(链接),然后显示DisplayNearestPhotos视图 我一直在寻找一些代码来实现这一点(我不认为它像在html中实现等价物那样简单) 下面的代码连接到“我的菜单”

我正在开始iphone的开发,并试图从一种观点转移到另一种观点

我有一个主视图(最接近的PhotosViewController),它基本上充当我的应用程序的菜单。然后我有了第二个视图(显示最近的照片)

我来自网络(html)背景,所以我在这里试图用网络术语做的是单击最靠近的PhotosViewController视图上的按钮(链接),然后显示DisplayNearestPhotos视图

我一直在寻找一些代码来实现这一点(我不认为它像在html中实现等价物那样简单)

下面的代码连接到“我的菜单”视图上的一个按钮

  -(IBAction)ButtonPressed:(id)sender
  { 
  DisplayNearestPhotos *views = [[DisplayNearestPhotos alloc] 
         initWithNibName:nil bundle:nil];
  [self presentModalViewController:views animated:YES];
  views.release;
  }
上面的代码可以工作(它显示第二个视图),但我想知道的是,这是正确的方法吗?如果不是,从一个视图移动到另一个视图的正确方式是什么


提前谢谢你

取决于你想做什么。模式视图适用于应用程序流中的临时中断。如果您试图提供具有确定性顺序的内聚视图流,我会在自然流中使用
UINavigationController
push
pop
视图。如果您有一组可随时选择的独特视图,则应使用
UITabBarController
。实际上,这一切都取决于应用程序的设计以及您希望用户如何与应用程序交互

我要做的是坐下来,从苹果公司了解你有什么可以支配的。然后,我会坐下来设计你的应用程序的最佳组织方式

勇往直前,征服一切

其他信息:





取决于你想做什么。模式视图适用于应用程序流中的临时中断。如果您试图提供具有确定性顺序的内聚视图流,我会在自然流中使用
UINavigationController
push
pop
视图。如果您有一组可随时选择的独特视图,则应使用
UITabBarController
。实际上,这一切都取决于应用程序的设计以及您希望用户如何与应用程序交互

我要做的是坐下来,从苹果公司了解你有什么可以支配的。然后,我会坐下来设计你的应用程序的最佳组织方式

勇往直前,征服一切

其他信息:





我开始iPhone开发的方式是使用。如果你看一下示例应用程序,
TTCatalog
,你会看到他们提出的一个有趣的模式,应该会吸引具有web开发背景的人

它们将“URL”映射到类(在本例中为视图控制器),如下所示:

TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"tt://catalog" toViewController:[CatalogController class]];
[map from:@"tt://photoTest1?" toViewController:[PhotoTest1Controller class]];
[map from:@"tt://photoTest2" toViewController:[PhotoTest2Controller class]];
[map from:@"tt://imageTest1" toViewController:[ImageTest1Controller class]];
使用three20项目中的方法,您可以将
UITableViewCell
的“url”设置为
tt://photoTest1
,然后会在主堆栈上弹出一个
PhotoTest1Controller
视图。它非常方便,而且是一种很好的开始方式(另外,我发现查看代码并从中获得一些很好的模式非常有用)


希望这有帮助

我开始iPhone开发的方式是使用。如果你看一下示例应用程序,
TTCatalog
,你会看到他们提出的一个有趣的模式,应该会吸引具有web开发背景的人

它们将“URL”映射到类(在本例中为视图控制器),如下所示:

TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"tt://catalog" toViewController:[CatalogController class]];
[map from:@"tt://photoTest1?" toViewController:[PhotoTest1Controller class]];
[map from:@"tt://photoTest2" toViewController:[PhotoTest2Controller class]];
[map from:@"tt://imageTest1" toViewController:[ImageTest1Controller class]];
使用three20项目中的方法,您可以将
UITableViewCell
的“url”设置为
tt://photoTest1
,然后会在主堆栈上弹出一个
PhotoTest1Controller
视图。它非常方便,而且是一种很好的开始方式(另外,我发现查看代码并从中获得一些很好的模式非常有用)


希望这有帮助

这取决于您的设计。如果您的应用程序具有适当的屏幕流,那么UINavigationController是一个不错的选择。使用此功能,您可以通过单击按钮导航到其他屏幕。UINavigationController本身维护屏幕堆栈,并提供返回按钮以导航到上一个屏幕。因此,很容易维持筛网流量。 如果设计的屏幕与正常屏幕流不同,则可以使用模态视图控制器显示屏幕。这不会干扰屏幕流。例如,如果您的应用程序具有根屏幕,并且您希望显示信息屏幕,则可以使用模态视图控制器显示信息屏幕。 使用的方法将影响屏幕动画。模态视图控制器将从底部显示屏幕,而导航将从右向左显示屏幕。 如果要在选项卡栏单击上显示不同的屏幕,请使用UITabBarController。
您还可以使用应用程序中提到的所有类型的组合。

这取决于您的设计。如果您的应用程序具有适当的屏幕流,那么UINavigationController是一个不错的选择。使用此功能,您可以通过单击按钮导航到其他屏幕。UINavigationController本身维护屏幕堆栈,并提供返回按钮以导航到上一个屏幕。因此,很容易维持筛网流量。 如果设计的屏幕与正常屏幕流不同,则可以使用模态视图控制器显示屏幕。这不会干扰屏幕流。例如,如果您的应用程序具有根屏幕,并且您希望显示信息屏幕,则可以使用模态视图控制器显示信息屏幕。 使用的方法将影响屏幕动画。模态视图控制器将从底部显示屏幕,而导航将从右向左显示屏幕。 如果要在选项卡栏单击上显示不同的屏幕,请使用UITabBarController。 也可以使用c