【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

MonoTouch.Dialog 让 iPhone 对话框的创建更加便捷

  • 2010-02-25
  • 本文字数:1268 字

    阅读完需:约 4 分钟

为了简化用 MonoTouch 来进行 iPhone 开发,Miguel de Icaza 开发了 2 个基于 UITableView 的抽象层。这些抽象层让开发人员可选择是使用基于特性标记的声明语法,还是使用基于嵌套控件的命令模型来开发。

UITableView 或“表视图”是 iPhone 开发的重要组成部分。虽然它很强大,用起来却也很枯燥。人们不能简单地添加新视图节(sections)和视图行(rows)。首先,开发人员不得不重写 numberOfSections 函数来返回正确的计数。接着 numberOfRowsInSection 函数也必须进行调整来为每个函数返回正确的值。最后,界面部件本身需要通过 cellForRowAtIndexPath 函数来加载。如果这 3 个函数没有保持一致,那么 UI 上的控件看起来就像随机摆放的。

Miguel 开发的抽象层的核心就是使用一系列嵌套的“元素”。每个元素都表示一种类型的界面部件,其在运行时会被放置到一个单元格中。下面是 Miguel 博客上的一个例子。

复制代码
var root = new RootElement ("Settings") {
new Section (){
new BooleanElement ("Airplane Mode", false),
new RootElement ("Notifications", 0, 0) { Notifications }
},
new Section (){
new RootElement ("Sound"), { Sound },
new RootElement ("Brightness"){ Brightness },
new RootElement ("Wallpaper"){ Wallpaper }
},
new Section () {
new EntryElement ("Login", "Your login name", "miguel"),
new EntryElement ("Password", "Your password", "password", true),
new DateElement ("Select Date", DateTime.Now),
new TimeElement ("Select Time", DateTime.Now)
}
}

Miguel 写到:

尽管 UITableView 是基于强大的模型 / 视图 / 控制器(MVC)来构建的,这种方式让大家可以有效地扩展到大数据集,然而大部分配置页面和数据录入页面却不需要这么复杂的方式。
另外一个特性是,它会处理好所有在进行文本录入的记录问题,而无需编程者插手这些工作:接受键盘输入,在回车的时候自动切换到下一个录入行,在视图节中排列所有录入行,在已经完成所有录入后隐藏键盘。

Miguel 也为快速而简单的配置界面提供了基于反射的方式。这个技术依赖于编译器以代码中出现的先后顺序来编译成员变量的特点,所以要小心那些会自动排序代码的代码格式化工具。

复制代码
class AccountInfo {
[Section]
public bool AirplaneMode;
[Section ("Data Entry", "Your credentials")]
[Entry ("Enter your login name")]
public string Login;
[Caption ("Password"), Password ("Enter your password")]
public string passwd;
[Section ("Travel options")]
public SeatPreference preference;
}

MonoTouch.Dialog 基于 MIT X11 许可协议发布。而 MonoTouch 本身是一个 Novell 出品的商业产品,让.NET 的应用程序可以运行在 Apple 的 iPhone 和 iPad 设备上。

查看英文原文: MonoTouch.Dialog Makes Creating Simple iPhone Dialogs Easier and Faster

2010-02-25 04:321551
用户头像

发布了 254 篇内容, 共 53.7 次阅读, 收获喜欢 2 次。

关注

评论

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

Sei概览:简介、优势、潜在项目以及操作指南

EOSdreamer111

WorkPlus安全专属的即时通讯解决方案,助力企业高效沟通协作

WorkPlus

AudKit Apple Music Converter for Mac 1.2.0激活版下载

iMac小白

iBarcoder for Mac(条形码生成工具)v3.14.4激活版

影影绰绰一往直前

Sei概览:简介、优势、潜在项目以及操作指南

股市老人

我的2024书单

hackstoic

阅读

三分钟部署一个免费妙鸭相机!

鹤涵

人工智能 LoRa Stable Diffustion

DRmare Audio Converter Mac v2.9.0激活版下载

iMac小白

TrashMe for Mac(mac软件卸载工具)v3.5.6激活版下载

影影绰绰一往直前

布隆过滤器(Space/Time Trade-offsin Hash Coding with Allowable Errors)

乐只

布隆过滤器 计算机科学与技术 论文解读

IM即时通讯如何引领数字化时代的沟通革命?

WorkPlus

WorkPlus Meet打造高质量的视频会议体验,助力实时远程协作

WorkPlus

WorkPlus AI助理为企业提供智能客服的机器人解决方案

WorkPlus

AudFree Audio Converter for mac激活版下载

iMac小白

5 个最适合SEI 网络空投交易等操作的钱包(Bitget Wallet,Coin98等)

EOSdreamer111

语言生成奇迹背后:ChatGPT是如何运算的

少油少糖八分饱

神经网络 AI 文本生成 ChatGPT 大语言模型

C 语言函数完全指南:创建、调用、参数传递、返回值解析

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

0.9uA 低功耗低压差稳压器

智趣匠

Microsoft Office LTSC 2021 for Mac v16.80中文正式版下载

影影绰绰一往直前

Bigasoft Video Downloader Pro for Mac 3.26.1.8769中文直装版下载

影影绰绰一往直前

5 个最适合SEI 网络空投交易等操作的钱包(Bitget Wallet,Coin98等)

股市老人

WorkPlus完备的企业级功能堆栈,打造高效的企业移动平台

WorkPlus

学员 Luke 的复盘 - 大纲

Luke

InDesign 2024 for Mac(ID 2024)v19.0.1中文激活版下载

影影绰绰一往直前

AudFree Audio Capture for Mac v2.7.1永久激活版下载

iMac小白

RAW Power for Mac v3.4.17中文激活版下载

影影绰绰一往直前

docker日志设置大小、build cache清理及业务日志清理

智慧源点

Docker

Noir – Dark Mode for Safari (Safari 扩展程序) v2023.2.6激活版下载

影影绰绰一往直前

WorkPlus支持平台级定制,助理企业自主掌控业务和生态

WorkPlus

聚道云软件连接器助力某新能源行业公司实现付款流程自动化

聚道云软件连接器

案例分享

Axure RP 9 for Mac 中文激活版下载

影影绰绰一往直前

MonoTouch.Dialog让iPhone对话框的创建更加便捷_.NET_Jonathan Allen_InfoQ精选文章