快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
) 。出于本书的需要,菜单条目是一个具有标题和 URL 属性(描述单击时菜单条目的去向)的对象。

清单 6. rails-iui 列表 helper

  def list_element(item)
   onclick_one = "$(''header_text'').innerHTML=''#{item.caption}''; "
   onclick_two = "$(''backButton'').addEventListener(''click'',
     function() {$(''header_text'').innerHTML=''Soups OnLine''; }, false);"
   link = link_to(item.caption, item.option_hash,
     :onclick => "#{onclick_one} " + " #{onclick_two}")
   content_tag(:li, link)
  end
  def append_options(list_content, options = {})
   list_content = options[:top] + list_content if options[:top]
   list_content += options[:bottom] if options[:bottom]
   list_content
  end
  def iui_list(items, options = {})
   list_content = items.map {|i| list_element(i)}.join("n")
   list_content = append_options(list_content, options)
   content_tag(:ul, list_content, :selected => "true")
  end

在 HTML 列表中,菜单列表中的每个条目都有各自的 li 元素。它包含连接到正确的 URL 的链接以及 一些管理工具栏标题的 JavaScript。JavaScript 处理程序负责两件事情。首先,它更改工具栏的文本以 反映新的链接。(因为新的链接仅调用 Ajax 更新页面的正文,所以这只能在客户端处理)。其次,它更 改处理程序的 Back 按钮,因此 Back 按钮将工具栏的标题改为原来的 Soups OnLine。这并不能真正解 决在深层下钻时保持标题同步的问题。但在撰写本文时,iUI 和 rails_iui 都不支持这个功能。

将所有的列表条目放置在一个 HTML UL 列表中,这个列表具有特定的属性对 selected=true。iUI 使 用这来决定将哪个列表放置在 iPhone 视见区的正文部分。如果在页面中 selected 设置为 true 的位置 存在一个 HTML 标记,CSS 会使用 CSS 声明 display: block 将它赋值到视见区的整个正文。与正文标 志的尺寸定义一起,这将给 selected 条目一个完整的视见区。这是很有用的。在一个 iUI 示例中,同 一个页面出现了几个代表多层下钻的列表。最初只会显示 selected 列表,其他列表则通过单一页面内的 锚和名称链接来访问。

然而,因为 selected 列表是完整的视见区,具有 Soups OnLine 标志的头部和具有 Switch to Desktop View 链接的底部必须置于 UL 标记的内部。helper 函数允许列表的顶部和底部包含任意的 HTML —— 它们在前面的布局正文片段(清单 2)中是 :top 和 :bottom。生成的 HTML 类似于清单 7。 我为菜单的第一个元素添加了完整的清单,但对于其他元素,则省略了重复的清单。

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

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

清单 7. iUI 列表 HTML

  <ul selected="true">
   <h1 class="header">Soups OnLine</h1>
   <li>
    <a href="/recipes"
     onclick="$(''header_text'').innerHTML=''Most Recent Recipes''; 
        $(''backButton'').addEventListener(''click'',
        function() {$(''header_text'').innerHTML=''Soups OnLine''; }, false);">
        Most Recent Recipes</a>
   </li>
   
   ### OTHER LIST ITEMS REMOVED
   
   <a href="/browsers/desktop&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号