1

由于编写了一些特定的对话框元素,我使用 MonoTouch.Dialog 的源代码(当前版本)。顺便提一句。在我的项目中,我在一些故事板视图中使用 DialogViewController。现在我已经认识到一个问题:以下代码与 MonoTouch.Dialog 的绑定程序集完美配合,但如果我使用 MonoTouch.Dialog 的源版本,则 UIAlertView 不会出现在点击 Accessory-Button...

var sse = new StyledStringElement ("DetailDisclosureIndicator") { Accessory = UITableViewCellAccessory.DetailDisclosureButton };
                    sse.AccessoryTapped += delegate {
                        var alert = new UIAlertView ("Accessory", "Accessory clicked!", null, "Ok");                alert.Show ();

RootElement root = new RootElement ("test") {
                    new Section (""){
                        sse, 
                        new BooleanImageElement ("test1", false, checkedImage, uncheckedImage),
                    }};

_dvc = new DialogViewController(root);
_navc = new UINavigationController (_dvc);
this.View.AddSubview (_navc.View);

我错了什么?为什么此代码仅适用于 MT.D 的 Xamarin 程序集?

4

2 回答 2

0

现在我有些惊讶,但还是有些茫然。打包到 MonoTouch.Dialog GIT 版本的示例工作正常。特别是 DemoStyle.cs 中的代码(与 var sse 相同的 DetailDisclosureIndicator 情况)。该示例适用于这两种程序集。我的应用程序的区别是:1)我的应用程序是 ipad-app 2)我的 UINavigationController 是 UIView 的一部分,它是 Storyboard 的一部分。

两分钟后一个测试。AccessorButton 在我的 Storyboard iPad 应用程序中不起作用的主要原因是类 Source(DialogViewController.cs 的一部分)中的方法 AccessoryButtonTapped。如果我调试我的应用程序,如果我点击访问器按钮,则不会调用此 Methode。如果我调试 iphone 示例(添加到 MonoTouch.Dialog 源),将调用类 Source 的 AccessoryButtonTapped 方法,并且将到达 AccessoryButtonTapped 中的断点...

于 2012-07-24T03:15:27.843 回答
0

我错了什么?

可能没什么...

为什么此代码仅适用于 MT.D 的 Xamarin 程序集?

GIT 的 MonoTouch.Dialog 是可用的最新(前沿)版本。MonoTouch.Dialog 没有隐藏版本;-)

MonoTouch 的每个新版本在发布时都会带来一个特定的(几乎是最新/经过良好测试的)版本的 MonoTouch.Dialog。

您将使用 GIT 更快地获得新功能 - 但您也可能是第一个发现新错误或回归的人。

请向http://bugzilla.xamarin.com报告任何行为变化,并包括 MonoTouch 的哪个版本(例如 5.2.12)以及您使用的 GIT 修订版(例如,当您阅读您的问题时,当前版本之类的内容可能与写的时候)。

于 2012-07-23T19:03:31.303 回答