【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

MonoTouch.Dialog 一瞥

  • 2012-03-05
  • 本文字数:718 字

    阅读完需:约 2 分钟

MonoTouch.Dialog 是一个 UI 开发工具包,它旨在大幅度减少创建应用程序界面(screen)所需要的样板代码量。通过创造性地使用特性(attribute),MonoTouch.Dialog 可以根据类定义动态生成界面。当然,你也可以选择采用编程方式或从 JSON 文档中加载来进行创建。

MonoTouch.Dialog(或简称 MT.D)包含两套库。其中一套是低层次元素 API(low-level Elements API),它不仅允许开发人员定义元素层次树来表示界面及其组件,还允许动态创建 UI(类似于服务器生成的表单)。此外,它还支持加载基于 JSON 的界面定义。

另外一套库是高层次反射 API(high-level Reflection API),也叫做绑定 API(Binding API)。它使用标注类来声明式地构造用户界面。这些类可以既表示模型对象本身,也可以当做包装类使用。

MT.D 界面由四个部分组成。其中 DialogViewController 用作替换 iOS 标准的 TableViewController,两者具有相同的使用方式。接下去是 RootElement,它是一个包含节(Section)和元素(Element)的无渲染容器。其中节可以看作多个控件的逻辑分组,而元素表示单个数据绑定控件。

当使用反射 API 时,节和元素会按照源代码中声明的顺序进行布局。这意味着你必须禁用任何可能导致源文件中属性和方法重新排序的代码清理工具。

想要使用超过基本控件提供的功能, 高级开发人员可以学习怎样使用 OwnerDrawnElement 及 Element 基类。其中 OwnerDrawnElement 允许开发人员通过操作 CGContext 来定义他们自己的外观风格,而 Element 则给予开发人员完全的控制。

MonTouch.Dialog 中明确回避了数据验证的话题。一个建议是在用户按下“下一步”或者“完成”按钮时,手工地去实现和触发验证。

查看英文原文: http://www.infoq.com/news/2012/02/MonoTouch.Dialog

2012-03-05 05:291893
用户头像

发布了 125 篇内容, 共 35.2 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

tips-mac安装jdk及设置环境变量

无崖子Z

极客时间运维进阶训练营第三周作业

LiaoWD

打破国内应用商店发展局限,vivo应用商店9.0创新突围

ToB行业头条

Redhat持久化日志与实战练习

阿柠xn

Linux 运维 11月月更

案例体验HTTP2.0多路复用

小鑫同学

前端 HTTP2.0 11月月更

读《计算机是怎样跑起来的》体会

听风go

架构误区系列4:volatile task

agnostic

延迟任务 领域建模

【简历优化】如何在简历中最大化体现出自己的学习能力?

王中阳Go

高效工作 面试 高效学习 简历 11月月更

【C语言】extern 关键字

謓泽

11月月更

Zebec 创始人Sam Thapaliya11月12日Twitter Space 发言内容回顾

股市老人

CSS学习笔记(七)

lxmoe

CSS 前端 学习笔记 11月月更

沿着公路,驶入隧道,寻访OpenHarmony的桃花源记

脑极体

词向量word2vec(图学习参考资料1)

汀丶人工智能

图神经网络 图学习 11月月更

【愚公系列】2022年11月 微信小程序-app.json配置属性之subpackages和preloadRule

愚公搬代码

11月月更

极客时间运维进阶训练营第三周作业

老曹

Git 命令的基本使用clone、push 等

忙着长大#

第一章TCP/IP协议

初学者

TCP/IP 11月月更

What's new in dubbo-go v3.0.3

apache/dubbo-go

如何在 Kubernetes 中创建命名空间?

wljslmz

Kubernetes 命名空间 11月月更

数据治理的核心:大数据开发平台

Taylor

大数据 数据开发 数据平台 数据开发平台 调度平台

Zebec 创始人Sam Thapaliya11月12日Twitter Space 发言内容回顾

EOSdreamer111

ubuntu安装 GitLab、创建 group、user 和 project 并授权

忙着长大#

gitlab

2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内的指针方法列表?以下代码应该返回{“S1“:[“M1“,“M2“],“S2“:[],“S3“:[“M1“,“M3“]},顺序不限

福大大架构师每日一题

golang AST 福大大

常见的API安全漏洞类型

阿泽🧸

11月月更 API漏洞

极客时间运维进阶训练营第三周作业

chenmin

计算机网络:局域网的基本概念和体系结构

timerring

计算机网络 局域网 11月月更

9位资深技术专家!来自香山团队、平头哥等大咖云集的龙蜥RV专场回顾来了

OpenAnolis小助手

芯片 risc-v 龙蜥社区 2022云栖大会 技术专场

GitLab 服务的数据备份与恢复

忙着长大#

gitlab

服务至上的时代,生态才是ToB软件厂商发展加速的油门

ToB行业头条

第三章TCP/IPip地址概念与应用

初学者

TCP/IP IP地址 11月月更

如何搭建数据指标体系

穿过生命散发芬芳

11月月更 数据指标体系

MonoTouch.Dialog一瞥_.NET_Jonathan Allen_InfoQ精选文章