【问题标题】:Architecting iPhone Views - seeking help on a specific issue + general advice构建 iPhone 视图 - 就特定问题寻求帮助 + 一般建议
【发布时间】:2010-05-22 08:45:00
【问题描述】:

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

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

我的特殊问题如下所示:

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

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

总结:

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

感谢任何帮助和建议。

【问题讨论】:

    标签: iphone objective-c macos uiview


    【解决方案1】:

    听起来您已经很清楚您希望每个屏幕的外观;这是一个很好的起点。

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

    MySettingsController *controller = [[MySettingsController alloc]
        initWithNibName:@"SettingsView" bundle:nil];
    [[self navigationController] pushViewController:controller animated:YES];
    

    (假设是基于导航的应用)。

    如果您还没有,我建议您阅读 Apple 的 View Controller Programming Guide

    【讨论】:

      【解决方案2】:

      一些建议:尽管您有背景,但不要将视图视为页面或将应用程序视为网站。这将导致您的设计出现问题,因为技术不同,视图不像网页那样工作,应用程序不像网站那样工作。

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

      Cocoa Core Competencies: Modal View Controller

      如果您在 Ruby 中使用过 MVC,Rails 就会使用它。基本原理是一样的。

      【讨论】:

        【解决方案3】:

        嗯,Apple 开发者页面上有很多信息:你可以开始阅读 Your first iPhone application
        有很多不错的网站,提供有关可可和 iPhone 开发的非常好的信息:

        1. Cocoa with love
        2. iCode blog

        还有更多(谷歌是你的朋友)。

        我喜欢的几本书是“Beginning iPhone3 Development”和“iPhone developer cookbook”。 第一个可能在开始时更有用(没有双关语)

        对于你的应用的具体情况,你可以在设置页面使用导航控制器,每次你需要深入细节时,你只需将正确的视图推送到导航控制器的视图堆栈中。

        因此,您将使用界面构建器设计 4 个视图

        • 主视图
        • 设置视图
        • 详情1
        • 详情2

        然后将视图推送到导航控制器。
        这很简单,我不会详细介绍,但只需在 google 上搜索“iphone 导航控制器示例”之类的内容,就会为您提供大量示例,您可以轻松适应您的需求。

        【讨论】:

          【解决方案4】:

          这些都是有用的回复,尤其是对 iPhone View Programming Guide 的引用。这有助于我诊断出与视图控制器的角色以及各个视图和视图控制器之间的关系有关的误解。我认为我的部分困惑来自于在 Rails 的上下文中学习 MVC,这种关系是完全不同的。

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

          【讨论】:

            猜你喜欢
            • 2015-11-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-06-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-11
            相关资源
            最近更新 更多