- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在关注 monotouch.dialog 任务示例应用程序 (http://docs.xamarin.com/ios/Guides/User_Interface/MonoTouch.Dialog/Elements_API_Walkthrough) 中的代码。
我似乎无法解决的问题是,当用户单击+按钮时,表中会添加一个新行。用户触摸此按钮并导航到可以输入信息的另一个屏幕。现在,当他们导航回 Root View 时,我希望更新 rootElements 列表,以便使用输入的名称而不是默认名称“连接”
我如何根据输入的内容更新每个 RootElements 的文本?
我希望一切都有意义!
-- 代码如下。
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
RootElement _rootElement = new RootElement ("To Do List"){ new Section()};
DialogViewController _rootVC = new DialogViewController (_rootElement);
// This adds an 'add' button to the root view controller, and handles by delegate,the push to a screen where you can add a new vCenter connection profile.
UIBarButtonItem _addButton = new UIBarButtonItem (UIBarButtonSystemItem.Add);
_rootVC.NavigationItem.RightBarButtonItem = _addButton;
_addButton.Clicked += (sender, e) => {
var connectionProfile = new connectionProfile{};
// See, on the line below, I add a default RootElement with the text New Connection.
var connectionProfileElements = new RootElement ("New Connection") {
new Section () {
// When they enter the name on the next line of code, I want to use this to update the New Connection text on the root screen.
new EntryElement ("Name", "Enter Connection Name", connectionProfile._connectionName),
new EntryElement ("VC Address", "Enter VC Address", connectionProfile._address),
new EntryElement ("VC Port", "Enter VC Port", connectionProfile._port),
new EntryElement ("Username", "Enter Username", connectionProfile._userID),
new EntryElement ("Password", "Enter Password", connectionProfile._password,true)}
};
_rootElement [0].Add (connectionProfileElements);
};
UINavigationController _nav = new UINavigationController (_rootVC);
window.RootViewController = _nav;
window.MakeKeyAndVisible ();
return true;
}
}
还有:
public class connectionProfile
{
public connectionProfile ()
{
}
public string _connectionName { get; set; }
public string _address { get; set; }
public string _port { get; set; }
public string _userID {get; set; }
public string _password { get; set; }
}
最佳答案
您是否尝试过 this.ReloadData();
像这样?
public NameOfYourDialogViewController() : base (UITableViewStyle.Grouped, null)
{
Root = new RootElement ("test") {
new Section ("First Section"){
new StringElement ("Hello", () => {
new UIAlertView ("Hola", "Thanks for tapping!", null, "Continue").Show ();
}),
new EntryElement ("Name", "Enter your name", String.Empty)
},
new Section ("Second Section"){
},
};
}
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Do your stuff
}
public override void ViewWillAppear (bool animated)
{
base.ViewWillAppear (animated);
this.ReloadData();
}
您可以找到与此相关的其他主题 here .
你忘了说它位于你的 AppDelegate 中,它不是为你正在做的事情而设计的。
首先,创建一个DialogViewController:项目>添加新文件> MonoTouch>DialogViewController。在我之前提到的不同方法中,放置 ReloadData() 方法。这些方法(ViewDidLoad、WillAppear 等)是 UIView 的重写方法。AppDelegate 的存在是为了在启动之前获取数据、为应用程序存储静态数据等等。这是完全不同的用法。
对于您的 AppDelegate,您应该有这样的示例:
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
_window = new UIWindow (UIScreen.MainScreen.Bounds);
_controller = new NameOfYourDialogViewController();
_navigationController = new UINavigationController (_controller);
UIImageView splash = new UIImageView(_window.Bounds);
splash.Image = UIImage.FromFile("Default.png");
_window.AddSubview(splash);
_window.AddSubview(_navigationController.View);
_window.BringSubviewToFront(splash);
_window.MakeKeyAndVisible ();
// This is used to create a fadding effect in your splashscreen
UIView.Animate(1,
delegate { splash.Alpha = 0f; },
delegate {
_window.RootViewController = _navigationController;
splash.RemoveFromSuperview();
});
return true;
}
关于c# - 更新 Monotouch.Dialog RootElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13267573/
在下图中,您可以看到在列表的 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#,但运行其他语言有一些注意
我是一名优秀的程序员,十分优秀!