快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
将获取一个块并将块 文本(而非其他行内容)放入标签标记中。

表单

Mobile Safari 提供了很多精心设计的功能,用于克服在小型触摸屏中输入表单数据的潜在限制。这 些功能中最显而易见的是用于文本输入的软键盘和用于 select 列表的较大的滚动条,iPhone Web 开发 人员必然会用到这些功能。但是,在调用时,这些元素需要占用屏幕空间,因此请记住,如果超出字段和 Mobile Safari 输入面板,您的用户无法看到太多页面。

对于文本字段,Mobile Safari 将定义用于控制软键盘行为的两个自定义属性:autocorrect 和 autocapitalize。默认情况下,两个属性的值都为 on,但是可以设为 off 以删除功能。自动更正功能将 控制用户是否会看到显示在输入字段下方的常见拼写错误的更正建议。自动大写功能将使用一个大写字母 开始一条新语句。您可以使用 Rails 进行控制,方法是将属性作为文本的 HTML 选项的一部分传递,或 者是使用密码标记控制::autocorrect => "off"。如果用户极有可能键入非单词或语句的文本,例如 登录字段或密码字段,请将这些标记关闭。

下面是我为 Soups OnLine 创建的搜索表单。如 第 1 部分 中所指定,工具栏中的 Search 按钮是由 rails_iui 工具栏助手方法 <%= iui_toolbar "Soups OnLine", new_search_url %> 绘制的。

我对 第 1 部分 中所示的助手方法做了一处小改动:按钮链接改为 self 目标,这将导致刷新整个屏 幕,而不是对列表横向浏览。我做出这项更改是基于如下理论:搜索不属于真正的列表浏览行为并且其行 为应当有所不同。工具栏方法现在类似清单 2。

清单 2. iui_toolbar 助手方法

  def iui_toolbar(initial_caption, search_url = nil)
   back_button = button_link_to("", "#", :id => "backButton")
   header = content_tag(:h1, initial_caption, :id => "header_text")
   search_link = if search_url
          then button_link_to("Search", search_url, :id => "searchButton",
            :target => "_self")
          else ""
          end
   content = [back_button, header, search_link].join("\n")
   content_tag(:div, content, :class => "toolbar")
  end

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

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

我构建的搜索屏幕十分简单,再次使用了一个最小功能集,并用于一个较小的屏幕。

图 2. 搜索界面

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

该表单包含文本输入字段、选择下拉框和切换开关,该开关是由 iUI 构建的,用于模拟原生 iPhone 切换控件。为了让此表单正常工作,我从控制器开始处理。SearchController 类已经在 Soups OnLine 应用程序中,用于创建桌面搜索表单。修改 new 控制器操作十分简单。

清单 3. SearchController 操作

  def new
   @search = Search.new
   @tag_cloud = TagCloud.calculate(Recipe)
   @tag_counts = TagCloud.tag_counts(Recipe)
   @tags = @tag_cloud.keys.sort
   respond_to do |format|
    format.html
    format.iphone
   end
  end

Search 对象是一个小模型对象,用于允许 Rails 视图使用那些需要将表单映射到 Rails 模型对象的 表单构建器方法。这个对象比较小 — 此时,该类只是存取器列表:

   class Search
    attr_accessor :keyword, :tags, :ingredients
   end  

稍后,该类将是放置实际搜索逻辑的好

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