【问题标题】:Has anyone implemented a StackPanel equivalent using MonoTouch?有没有人使用 MonoTouch 实现了等效的 StackPanel?
【发布时间】:2012-02-03 11:10:10
【问题描述】:

在使用 MonoTouch 为 iOS 编写等效 UI 时,我想念 WPF/Silverlight 的自动布局控件(如 StackPanel 和 Grid)。

我希望有人已经创造了这些,而不是重新发明轮子 :-)

我为 iOS github 项目找到了 stackpanel,但作为 MonoTouch 的新手,我不确定如何将 Obj-C 代码集成到 Mono 项目中。

【问题讨论】:

    标签: c# objective-c ios xamarin.ios stackpanel


    【解决方案1】:

    我找到了 iOS github 项目的 stackpanel

    stackpanel 代码似乎基于 UITableView,并为特定情况提供了更简单的 API。

    我不确定如何集成 Obj-C 代码

    一般来说,您可以将现有的objective-c 编译成一个库(使用Xcode)和create managed bindings。但是在这种情况下,代码看起来非常小,因此可能更容易转换为 C#(并提供更接近 Silverlight 的 StackPanel 的 API)。

    但我强烈建议您查看MonoTouch.Dialog,它为您提供了更简单的表格 API,包括对所有者绘制元素的支持。它也很容易扩展(使用 C#)来创建您自己的元素。查看示例项目以了解它们的实际效果。

    【讨论】:

    • 谢谢塞巴斯蒂安。是的,stackpanel 确实基于 UITableView 并且“更简单的 API”对我来说真的不值得麻烦,因为无论如何我都必须计算子视图的大小(即没有神奇的自动调整大小)。我会看看 MonoTouch.Dialog - 谢谢! (我已经找到了 Miguel 的用于模拟 MessageBox 的代码,并为它创建了一个与 Silverlight 兼容的代码包装器——非常方便!)
    • 嗯,MonoTouch.Dialog 的东西太棒了。创建 iOS UI 的巨大捷径。恕我直言 - 在属性类、流畅的 API 和 JSON 语法之间,一个比我见过的更强大/更灵活的 UI 构建器。感谢您的指针!
    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 2012-10-07
    • 2013-09-17
    • 2011-08-22
    • 1970-01-01
    • 2011-03-03
    • 2014-04-11
    相关资源
    最近更新 更多