- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在编写一个 View Controller 来向我的应用程序添加一个新项目。它非常适合 MonoTouch.Dialog,因为它可以通过基于表格的界面轻松完成,每个项目的相关属性都有一个字段。
这是我目前用于显示添加项目 View 的代码(经过简化,但核心思想仍然存在):
Item item = new Item();
TapHandler handler = new TapHandler();
BindingContext bc = new BindingContext(handler, item, "Add Item");
DialogViewController dv = new DialogViewController(bc.Root, true);
this.NavigationController.PushViewController(dv, true);
虽然这行得通,但我更愿意将 View 的细节封装到它自己的 View Controller 中,这样代码就可以如下所示:
UIViewController controller = new AddItemViewController();
this.NavigationController.PushViewController(controller, true);
但是,我不知道如何实现它。我认为合乎逻辑的做法是创建 DialogViewController
的子类。但是,DialogViewController
的所有构造函数都需要一个 RootElement
。为此,您需要首先创建 BindingContext
。由于您无法在调用基本构造函数之前运行任何代码,因此它最终无法正常工作。
我的第二种方法是实现 UIViewController
的子类,创建 DialogViewController
,然后使用 this 添加对话框 View Controller 作为我的子类的子类。 AddChildViewController(dv)
和 this.View.AddSubView(dv.View)
。虽然这最初有效,但如果您在 UINavigationController 中有新的 View Controller ,并且单击日期元素,日期 View 将显示为模式弹出窗口而不是导航 Controller 层次结构中。 (这是有道理的,因为 DialogViewController
不是此设计中 NavigationController
层次结构的一部分)。
从那里我被困住了。我在示例中也找不到像这样使用 MonoTouch.Dialog 的任何示例。这可能吗?或者,如果不是,是否有充分的理由说明为什么编写这样的代码不是一个好主意?
最佳答案
As you can't run any code before calling the base constructor
这不太正确。
这并不理想,但您可以从 DialogViewController
继承并为其提供一个空的 RootElement
实例,如下所示:
public class AddItemViewController : DialogViewController {
public AddItemViewController () : base (new RootElement ()) { }
}
稍后您可以将您的东西(或设置新的 RootElement
)添加到 Root
属性,例如
void Populate ()
{
this.Root.Add (new Section () { ... });
}
关于c# - 如何将 MonoTouch.Dialog View 封装到 View Controller 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9784142/
在下图中,您可以看到在列表的 StyleStringElement 中,当快速滚动时标题呈现黑色。如果我旋转 ipad,列表会重新呈现并且没问题。 有变通办法吗? 最佳答案 不确定是什么问题,但之前已
如何将 UISegmentedControl 放入 MonoTouch.Dialog header 部分? 最佳答案 是的,您可以像操作任何常规 UIView 一样操作 Section 类的 Head
我正在使用 MonoTouch 构建一个 iPhone 应用程序,它从网络服务获取数据。 我遇到的麻烦是第一个屏幕显示了国家列表。当用户选择一个国家时,它应该只从网络服务中检索该选定国家的城市列表..
我正在使用 MonoTouch 开发一款仅限 iPad 的调查应用程序。使用 monotouch.dialog (mt.d),我发现构建这些界面可以很快,这太棒了。 但是...我还发现 mt.d 只能
我有一个标准 View ,顶部有一个导航栏。我还在它自己的源文件中设置了一个 Monotouch.Dialog。我四处寻找解决方案,但似乎找不到关于如何将 MTD 添加到普通 View 的明确答案。
我需要来自 monotouch-bindings 的 facebook api 包装器,所以我从 github 下载了 monotouch-bindings 的整个包. 我无法编译 facebook
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this q
到目前为止,我发现的所有关于在 iPad/iPhone 应用程序中使用 Sqlite 数据库的代码示例都使用脚本在应用程序部署后创建数据库。 但是是否可以在 monotouch 中创建数据库、构建结构
我的应用程序在 MT 3.0 中运行良好。现在,当我升级时。当按钮位于 ContentView 中时,我看到错误。单击按钮时会发生崩溃。代码: public override UITableViewC
我已经决定开始编写一个 iPhone 应用程序并且来自 c# 背景,我想我会开始使用单声道进行开发。 虽然这个问题可能是主观的,但我希望您能提供一些指导。 使用这项技术开发我的应用是否安全,或者我应该
每次我尝试部署我的项目时,都会收到以下错误: Compiling to native code /Developer/MonoTouch/usr/bin/mtouch -sdkroot "/Appli
下面的代码给出了警告: Warning CS0618: MonoTouch.Dialog.Section.Add(System.Collections.Generic.IEnumerable)' is
在我用 MonoDevelop (3.0.3.5) 创建的解决方案中,我有 3 个项目: 带 UI 的 MonoTouch 项目, 带有 iOS 特定代码的 MonoTouch 库项目, 具有域模型的
我已经用模拟器简单地试用了 MT,并决定在加入开发计划的同时购买它。程序似乎可以在模拟器上运行,但当部署到我的(运行 5.1 的最新型号)iPad 上时,程序会在运行时立即崩溃。这是在做任何事情之前!
我希望能够捕捉图像(或从照片库中选择图像)并使用 Monotouch 将其上传到远程服务器。我不确定如何获取和编码图像或如何上传图像,而且我很难找到相关说明。你能帮我开始吗?谢谢你。 最佳答案 您要找
我是一名 .NET 开发人员,试图跨入 Objective-C iPhone 编程。我创建了我的第一个应用程序 - 只是一个包含多个 xib 的简单组合。 我刚刚接触到 MonoTouch,它可以让您
当 iPhone 或 iPad 应用程序抛出错误时,建议使用 Monotouch 获取报告数据的方法是什么? 最佳答案 我只是使用 Console.WriteLine 和一个围绕它的小包装器,这可以帮
在 iPhone/iPod 上的 Monotouch 中,如何检测是否有可用的互联网连接? 最佳答案 现在最好的方法是使用 Miguel de Icaza 的 GitHub 存储库中的此类: http
众所周知,Apple does not provide automatic garbage collection on the iPhone to prolong battery life 。然而据报
MonoTouch 总是与 C# 一起提及。该框架和工具集实际上仅限于 C#,还是其他 CLR 语言(如 IronRuby 和 F#)也可以工作? 最佳答案 它不仅限于 C#,但运行其他语言有一些注意
我是一名优秀的程序员,十分优秀!