【问题标题】:MonoTouch - XIB or not to XIB?MonoTouch - XIB 还是不 XIB?
【发布时间】:2011-03-31 16:10:43
【问题描述】:

我正在决定在使用 MonoTouch 进​​行开发时在哪里需要使用 .xib 文件。

我当前的项目需要使用 iPhone 和 iPad,所以我想知道即使使用 Interface Builder 是否值得。我已经必须删除一些设计器文件,以便 2 个不同的视图(每个设备一个)转到同一个控制器。我也是唯一一个从事这方面工作的人,IB 不会有设计师工作。

这里有几个问题:

  • 使用 XIB 是否有任何性能优势/降低?
  • 是否存在任何软件设计问题、减损 MVC 等以一种或另一种方式会被抑制?
  • 使用 XIB 是否存在任何通用性缺陷,例如使用 XIB 为某些视图实现延迟加载是否困难?

想法?

【问题讨论】:

    标签: iphone model-view-controller xamarin.ios xib


    【解决方案1】:

    我最近不得不做出同样的决定,我决定不使用 xib。我发现更容易准确地看到发生了什么。

    由于 iPhone 和 iPad 界面相对简单,我并没有从 IB 中获得巨大的好处,但是在 MonoDevelop 和 IB 之间有很多跳跃。和你一样,我没有直接与设计师合作。

    我在 IB 中进行初始布局以获取坐标。之后,我就直接在代码中做修改了。

    文件更少还有一个好处。

    另一个优点是提问。与代码和 xib 文件相比,通过电子邮件向同事发送代码块要容易得多。我也可以很容易地把需要的核心代码简单地指定问题。

    至于您的问题...当我完全控制时,我发现根据 MVC 来思考和构建我的项目更容易 - 但也许这只是我。对于我的项目,我并没有真正找到我认为 xib 文件会更好的地方。至于性能,我没有做过任何测试,所以不能真正提供一个明智的意见。我在某处读过一篇文章,说差异可以忽略不计,但快速搜索并没有发现它。今晚我会试着找到它。

    【讨论】:

    • 你知道在某个地方我可以看到有人在没有 XIB 的情况下做任何事情的示例项目吗?一个跟随 MVC?我找到了无 XIB 的示例,但它们通常看起来像 WinForms,并且设计不佳,带有一个充满事件处理程序的单片类。
    • 看看 tweetsharp 项目 - 它使用 MonoTouch.Dialog
    • 唯一的问题是我们即将进行一次完整的 ui 大修,并且在所有组件都是 100% c# 时执行此操作。比起 XIB,我仍然更喜欢这个——它们往往会让你的代码变得一团糟。真正的前沿,苹果。
    • 我也没有使用 Xib 并且喜欢它。我正在使用Monotouch.Dialog,它很棒。某些地方我在没有MT.D 的情况下从头开始创建 UI
    【解决方案2】:

    我们减少了 xib,没有 xib 的视图似乎性能更高。我发现 Apple 对 MVC 的解释令人困惑。

    【讨论】:

    • 我什至不觉得Apple对MVC的解释甚至是MVC。对于任何标准应用程序,您的“控制器”实现中都有太多的 UI 代码。但这可能是 b/c 我通常使用 WPF 和 MVVM——从软件设计的角度来看,这远远高于。
    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 2011-12-13
    • 2011-06-05
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多