快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
字段。该值将被送回到表单。rails_iui 助 手还将为 toggle div 添加 JavaScript onclick 事件处理程序。该处理程序将基于当前值的相反值来回 更改隐藏字段的值。如果载入 rails_iui,toggle 助手可用于任意一个 form_for 块。

为了进一步优化 Submit 按钮,iUI 提供了 whiteButton、blueButton 和 grayButton CSS 类,这其中的任意一个类都将使按钮变得更大并且更类似 iPhone 风格。

旋转

Mobile Safari 浏览器最特殊的功能之一是用户可以将它旋转 90 度以使用横向或纵向浏览器。虽然浏览器本身可以很好地刷新站点以适应不同的宽度,但是您可能需要更好地控制站点对方向变化的响应。iUI 和 rails_iui 的组合将给您提供两种方法来指定方向变化的行为。

iUI 工具包将跟踪方向变化,并且将 document.body.orient 属性的值更改为 profile 或 landscape。然后,可以根据该属性的值指定 CSS 行为,如清单 6 中的行所示,如果设备处于横向模式,则将更改 h1 标记的边缘和宽度。

清单 6. 基于方向的样例 CSS 更改

body[orient="landscape"] > .toolbar > h1 { margin-left: -125px; width: 250px; }

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

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

要更精细地控制方向变化行为,rails_iui 插件允许您定义一个回调,当检测到方向变化时,该回调将把一个 Ajax 请求送回到 Rails 应用程序中。Mobile Safari 将定义 onorientationchange 事件处理程序和 window.orientation 属性以处理方向事件。Rails 可以为该事件创建一个 Ajax 监视器,并且对服务器执行一次远程回调。

要使用此回调,请将布局更改为类似清单 7。

清单 7. 使用方向变化回调的布局

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <title>Recipes: <%= controller.action_name %></title> <meta name = "viewport" content = "width = device-width, user-scalable=no"> <%= stylesheet_link_tag ''iphone'' %> <%= include_iui_files %> <%= javascript_include_tag :defaults %> <%= observe_orientation_change :controller => ''browsers'', :action => :orientation_change %> </head> <body <%= register_orientation_change %>> <%= yield %> </body> </html>

此布局文件与在本系列第 1 部分中创建的布局文件之间有三处不同。首先,包括了默认的 JavaScript 库 — Ajax 回调所需的原型。另外两处更改包括 observe_orientation_change 和 register_orientation_change rails_iui 助手方法。register 方法是这两种方法中较为简单的。它所做的只是将字符串输出到设置事件处理程序的主体标记中,如下所示:

清单 8. register 方向变化助手

def register_orientation_change ''onorientationchange="updateOrientation();"'' end

observe 方法将获取可以作为实参传递给远程助手的 :url 选项的内容,并且创建由 register 助手暗示的 updateOrientation() 方法。

清单 9. Observe 方向变化助手

def observe_orientation_change(url_options = {})
      remote = remote_function :url => url_option

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