构建iPhone视图-就特定问题寻求帮助+;一般意见

构建iPhone视图-就特定问题寻求帮助+;一般意见,iphone,objective-c,macos,uiview,Iphone,Objective C,Macos,Uiview,我主要是一名web开发人员(ruby、python),是iPhone开发的新手。我过去在MS环境(C#)中做过一些桌面开发,但从未在mac上做过任何事情 我正在尝试构建一个非常简单的iPhone应用程序,我对视图的工作方式感到困惑。如果有人能为我的特定问题提供建议,并提供一些资源,让我在将来学习如何构建iPhone视图,那将是非常棒的。我觉得我遇到的很多苹果文档都太具体了——我对视图在iPhone上的工作方式缺乏基本的了解 我的特殊问题如下所示: 我需要一个视图,显示一些下载的文本内容。这是应用

我主要是一名web开发人员(ruby、python),是iPhone开发的新手。我过去在MS环境(C#)中做过一些桌面开发,但从未在mac上做过任何事情

我正在尝试构建一个非常简单的iPhone应用程序,我对视图的工作方式感到困惑。如果有人能为我的特定问题提供建议,并提供一些资源,让我在将来学习如何构建iPhone视图,那将是非常棒的。我觉得我遇到的很多苹果文档都太具体了——我对视图在iPhone上的工作方式缺乏基本的了解

我的特殊问题如下所示:

我需要一个视图,显示一些下载的文本内容。这是应用程序加载时显示的视图,非常简单

然后我需要一个设置区域(我已经决定不使用iPhone设置区域)。设置区域主页上将有一些文本字段。它还将有一个2行分组表。该表中的每个单元格都会将您带到另一个视图,该视图也有一个用于多选的分组表。我怀疑我可以为这两个最终的“详细设置”视图重用相同的视图

总之:

  • 主页
  • 设置主页面
    • 详细设置1
    • 详细设置2

感谢您的帮助和建议。

听起来您已经对每个屏幕的外观有了很好的了解;这是一个很好的开始

您可能要做的是使用Interface Builder在每个视图(文本字段、按钮等)中布局对象,然后为每个视图设置一个自定义视图控制器(UIViewController的子类)。然后,通过执行以下操作导航到新视图:

MySettingsController *controller = [[MySettingsController alloc]
    initWithNibName:@"SettingsView" bundle:nil];
[[self navigationController] pushViewController:controller animated:YES];
(假设是基于导航的应用程序)


如果你还没有,我建议你阅读苹果的

好吧,苹果开发者的页面上有很多信息:你可以开始阅读
有很多关于cocoa和iPhone开发的好网站都有很好的信息:

  • 还有更多(谷歌是你在这方面的朋友)

    我喜欢的两本书是《开始iPhone3开发》和《iPhone开发者食谱》。 第一个在开始时可能更有用(没有双关语)

    对于YOUR应用程序的特定情况,您可以在设置页面使用导航控制器,每次需要深入了解详细信息时,您只需将正确的视图推到导航控制器的视图堆栈上

    因此,您可以使用interface builder设计4个视图

    • 主视图
    • 设置视图
    • 细节1
    • 细节2
    然后将视图推到导航控制器上。

    这很简单,我不想详细介绍,但只要在谷歌上搜索“iphone导航控制器示例”之类的内容,就会提供大量的示例,您可以轻松地适应自己的需要。

    一些建议:尽管有自己的背景,但不要将视图视为页面或应用程序视为网站。这会给你的设计带来问题,因为技术不同,视图和网页不一样,应用程序和网站不一样

    主要区别在于,尽管网页通常包含实际数据,但视图却不包含。视图对象只与显示有关。它不知道显示什么,也不存储或逻辑操作数据。数据从视图控制器进入视图,视图控制器本身从数据模型获取数据


    如果您在Ruby中使用过MVC,Rails将使用MVC。基本原则是一样的

    这些都是有用的回答,尤其是对iPhone View编程指南的参考。这有助于我诊断与视图控制器的角色以及各个视图和视图控制器之间的关系有关的误解。我想我的困惑部分来自于在Rails环境中学习MVC,在Rails环境中,这种关系是完全不同的

    对于其他在这一领域寻求建议的人,如果有时间的话,我建议查看斯坦福大学iTunes U iPhone应用程序开发课程2010年冬季的第6讲“设计iPhone应用程序、模型视图控制器、视图控制器”,以及第5讲和第7讲。尽管我已经看过这里提到的几本书,但我想那是我的一分钱的时候了