<mark>New定义带有记号的文本。
<meter>New定义度量衡。仅用于已知最大和最小值的度量。
<progress>New定义运行中的任务进度(进程)。
<rp>New定义不支持 ruby 元素的浏览器所显示的内容。
<rt>New定义字符(中文注音或字符)的解释或发音。
<ruby>New定义 ruby 注释(中文注音或字符)。
<time>New定义一个日期/时间
<wbr>New规定在文本中的何处适合添加换行符。
<datalist>New规定了 input 元素可能的选项列表。
<keygen>New规定用于表单的密钥对生成器字段。
<output>New定义一个计算的结果
<canvas>New通过脚本(通常是 JavaScript)来绘制图形(比如图表和其他图像)。<figcaption>New定义一个 caption for a
<figure>element
<figure>Newfigure 标签用于对元素进行组合。
<audio>New定义声音,比如音乐或其他音频流。
<source>New定义media元素 (<video>和 <audio>)的媒体资源。media
<track>New为媒体(<video>和 <audio>)元素定义外部文本轨道。
<video>New定义一个音频或者视频
<nav>New定义导航链接
<command>New定义用户可能调用的命令(比如单选按钮、复选框或按钮)。
<header>New定义一个文档头部部分
<footer>New定义一个文档底部
<section>New定义了文档的某个区域
<article>New定义一个文章内容
<aside>New定义其所处内容之外的内容。
<details>New定义了用户可见的或者隐藏的需求的补充细节。
<dialog>New定义一个对话框或者窗口
<summary>New定义一个可见的标题。 当用户点击标题时会显示出详细信息。
<embed>New定义了一个容器,用来嵌入外部应用或者互动程序(插件)。
ruby'sss'.nil? 返回值false, nil.nil?的返回值true;
rails
present?是rails的方法,ruby中没有这个方法,''.present? 返回值false, nil.present?返回值也是false,'sss'.present? 返回值true
关于 RubyMotion 我已经写过很多文章了,但如何混用Objective-C与Ruby还从未涉及到。实际上你能在RubyMotion项目中使用Objective-C代码,也可以在传统Objective-C的App中使用Ruby代码。也许你一次听来觉得像黑魔法一样,所以来一起看看下面这些示例。Objective-C in Ruby
很多iOS开发者在现有的Objecive-C代码中存在大量深层的备份日志,这样就为项目手动转换为 RubyMotion 带来了很大的痛苦。然而幸运的是现在仅仅只需要将编译好的Objective-C代码添加到我们的新RubyMotion应用里。
比如我们要在 RubyMotion 应用中使用 Objective-C 形式的 CYAlert 类:
// CYAlert.h
#import <UIKit/UIKit.h>@interface CYAlert : NSObject
+ (void)show@end
// CYAlert.m
#import "CYAlert.h"
@implementation CYAlert
+ (void)show {
UIAlertView *alert = [[UIAlertView alloc] init]
alert.title = @"This is Objective-C"
alert.message = @"Mixing and matching!"
[alert addButtonWithTitle:@"OK"]
[alert show]
[alert release]
}@end
为了在RubyMotion应用中能正常使用,这里需要将CYAlert的两个文件都放置到类似 ./vendor/CYAlert 里面,然后在 Rakefile: 中告诉 RubyMotion 使用vendor_project创建那个文件夹。
Motion::Project::App.setup do |app|
# Use `rake config' to see complete project settings.
app.name = 'MixingExample'
# ./vendor/CYAlert contains CYAlert.h and CYAlert.m
app.vendor_project('vendor/CYAlert', :static)
end
那么现在在 AppDelegate 中,我们这样使用 CYAlert:
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
CYAlert.show
true
end
end