快速业务通道

使用Ruby on Rails和Eclipse开发iPhone应用程序,第2部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
_iui 插件,则可以简单表达为 <%= include_iui_files %>。

至此,您已经为创建 iPhone 内容做好准备。

使用Ruby on Rails和Eclipse开发iPhone应用程序,第2部分(4)

时间:2011-11-29 ibm developerWorks Noel Rappin

创建 iPhone 布局

在原始版本的 Soups OnLine 应用程序中,导航部分位于侧边栏,正文内容位于中央。这不适用于 iPhone,因此,我将把这个应用程序转换为列表结构。应用程序的主页将以列表的形式包含基本相同的导 航选择,并且用户可以向下钻取每个条目。例如,Recipes 导航条目将把用户带到另一个条目,这个条目 显示了最近添加的 “食谱”,并且还可以选择显示更多的条目。这里的每个条目将链接到特定 “食谱” 的显示页面 。

我将从 3 个层次讨论这些代码:

rails_iui 插件定义的 Rails helper

这个插件使用 iUI 定义的样式类生成的 HTML

在非 iUI 项目中要用到的关于 CSS 本身的一些详细信息

在默认情况下,iUI 会覆盖对单击正常链接的响应。iUI 执行 Ajax 调用并且重新绘制页面的可见区 域,而不是重新绘制整个页面。因此,iUI 可以为每个链接添加一种向侧面滑动的效果,这种效果类似于 在 iPhone 的 iPod 应用程序中下钻艺术家或专辑列表时产生的效果。通过在锚标记中更改 target 属性 ,可以用两种方式对此进行覆盖。如果链接目标是 _self,将使用刷新整个页面的正常超链接行为。如果 链接目标是 _replace,将使用服务器请求的结果代替锚标记。

从 Rails 的角度看,iUI 结构意味着正文布局仅呈现一次。在这之后,所有调用都是 Ajax 调用。即 使是常规的 link_to 调用,也必须作为 Ajax 调用和 :layout => false 一起发布。此外,这还意味 着对于 iPhone Web 应用程序中的简单 Ajax 活动,不需要使用 link_to_remote。

所以这个应用程序的初始用户页面仅是导航部分。这意味着必须为应用程序设置一个默认路径。这个 应用程序没有呈现自己的文本,仅显示正文导航的布局。如果缺乏明显的位置来放置这个路径,那么通过 向 config/routes.rb file 添加下面的行,将它添加到在第 1 部分中创建的 BrowsersController: map.root :controller => "browsers"。

控制器操作在 app/controllers/browsers_controller 中进行,并且很简单。

清单 1. 默认布局路径-控制器操作

  layout "recipes"
  def index
   respond_to do |format|
    format.html {redirect_to recipes_url}
    format.iphone {render :text => "", :layout => true}
   end
  end

使用Ruby on Rails和Eclipse开发iPhone应用程序,第2部分(5)

时间:2011-11-29 ibm developerWorks Noel Rappin

在 iPhone 中,仅呈现没有文本的布局。如果请求的是 HTML,它会重定向到 RecipesController 索 引页面,这个页面是应用程序的桌面视图的主页面。

iPhone 的呈现活动在呈现器中进行,目前正在调用一些由 rails_iui 插件定义的 helper 函数,根 据 iUI 的要求设置页面,如清单 2 所示。(如果 rails_iui 插件放置在 Rails 应用程序的 vendor/plugin/rails_iui 目录下,rails_iui helper 将自动应用到所有视图)。

清单 2. iPhone 主导航栏的布局正文

  <body>
   <%= iui_toolbar "Soups OnLine", new_search_url %>
   <%= iui_list iphone_menu.items,
     :top => content_tag(:h1, "Soups OnLine", :class => "header"),
     :bottom => link_to ("Switch To Desktop View",
       {:controller => "browsers", 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号