【问题标题】:iPhone OS Utility App - Flipside View and Main View communicationiPhone OS Utility App - Flipside View 和 Main View 通信
【发布时间】:2010-09-20 18:11:50
【问题描述】:

我目前正在开发一个 iPhone 2.1 应用程序。我是 Objective C 的新手,来自 Java 背景。

我的应用程序以 Xcode 中带有 iPhone SDK 的 Utility Application 模板为基础。目前我在FlipsideView 中有一些控件,例如UISlider 和文本框。 UISlider 已经有一个方法,当值更改时,使用目标和选择器调用该方法。但是,我还希望能够从MainView 中读取UISlidertextbox 的当前(或最后一个)值。

请记住,我是在 Mac 上进行开发的新手,如果我应该在哪里查找此类信息,我将不胜感激,无论是通过使用委托还是我在模板结构中遗漏了一些明显的东西.

更新: 我正在查看结构并了解更多细节:UISlider 正在FlipsideView.m 中创建。我注意到完成按钮是从RootViewController.m 创建的,可能我应该将UISlider 代码移到那里。我可能错误地使用了View 来保留更适合控制器的代码。

【问题讨论】:

    标签: ios objective-c iphone cocoa-touch uiview


    【解决方案1】:

    我的情况完全一样:第一个 iphone 应用程序,Mac 编程新手,创建一个实用程序,滑块在另一面。

    按照此处的示例和免费教程 (http://www.bestechvideos.com/2008/11/13/writing-iphone-app-free-episode),我确定滑块和其他控件应在 Flipsideviewcontroller 上声明。 (这让视图很空——我猜对 UI 使用 Nib 资源文件会使 ...View.m 类变得非常多余?)

    Wisequark 的回答对我来说有点笼统。 具体来说: - 我找不到那个视频有链接吗? - 我们可以看到一些显示控制器模型代码的代码吗? - 如何保持滑块上设置的值而无需构建 UI 进入系统设置?

    (顺便说一句,答案是添加到问题的正确位置吗?)

    【讨论】:

      【解决方案2】:

      最终,您应该使用控制器中的值更新一些底层对象。一般来说,滑块属于视图层——它是一个显示元素。然而,调整滑块产生的动作是控制器的一个组件,它应该返回到您的模型中以更新一个值。我强烈建议在一张纸上画框,并尝试为应用程序的层生成一个干净的分隔 - 在这种情况下,这样做会为实用程序的每个“侧”生成两个视图,这将通过控制器关联到一个模型。然后,移动滑块的动作将“立即”更新背面的模型。 iPhone 开发者网站上的 Cocoa Fundamental 视频非常有效地展示了这一点。

      【讨论】:

      • 赞赏。作为我的第一个 iPhone 应用程序,我并没有计划它,任何可行的都留在里面。我必须重构并考虑您的建议。
      猜你喜欢
      • 2013-07-26
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多