dismissWithClickedButtonIndex 在 UIViewController - UIScrollView - ActionSheet 关系中不起作用

Posted

技术标签:

【中文标题】dismissWithClickedButtonIndex 在 UIViewController - UIScrollView - ActionSheet 关系中不起作用【英文标题】:dismissWithClickedButtonIndex not works in UIViewController - UIScrollView - ActionSheet relation 【发布时间】:2013-12-17 23:03:47 【问题描述】:

希望你能帮我处理下一个案例。

说明:

我有一个以编程方式“创建”动态表单的类,该类继承自 UIViewController,名为“DinamicScreen”。

@interface DinamicScreen : UIViewController ...

我有一个 ViewController(连接到 viewController 故事板),它继承自“DinamicScreen”。

@interface MandatoryInformationViewController : DinamicScreen<UIPickerViewDelegate,UITextFieldDelegate>

在“DinamicScreen”中,我只绘制 UIView,但所有委托都传递给上下文。

uiTextField = [[UILabel alloc]initWithFrame:....
// Context is "MandatoryInformationViewController" in this case
[uiTextField setDelegate:context];

表单实现了一个包含 UILabels 和 UITextFields 的 UIScrollView。 UITextField 可以打开一个显示 UIPickerView 和两个按钮(确定、取消)的 ActionSheet。

DinamicScreenScrollView *uiScrollView = [[DinamicScreenScrollView alloc]initWithFrame...
[uiScrollView addSubview:uiTextField];....

问题:

当我点击“pickerTextField”时,ActionSheet 显示没有问题,但是当我点击 OK 或 Cancel 时,它崩溃了(我认为是 ActionSheet)。

当我进行调试时,我观察到流程运行不正确

[actionSheet dismissWithClickedButtonIndex:0 animated:YES];

截图http://s29.postimg.org/8zxkj333b/Captura_de_pantalla_2013_12_17_a_la_s_17_45_38.png

如果我不实现 UIScrollView 它可以完美运行,但它必须实现。

如果需要更多信息,请告诉我,这是我在 *** 上的第一个问题

对不起我的英语,我正在努力。

谢谢。

【问题讨论】:

崩溃时的确切错误消息是什么?当你调试时,你确定它在哪一行崩溃了吗? 没有错误,只是应用程序冻结,但继续运行,就在这里s29.postimg.org/8zxkj333b/… 【参考方案1】:

好吧,三天后修复它。

问题是在“MandatoryViewController”而不是“DinamicScreen”的视图中绘画,我改变了它,瞧。

[[context view] addSubview:uiScrollView]; // [wrong]
[[self view] addSubview:uiScrollView];    // [well]

我以为这篇文章现在是一个文档。

再次感谢。

【讨论】:

以上是关于dismissWithClickedButtonIndex 在 UIViewController - UIScrollView - ActionSheet 关系中不起作用的主要内容,如果未能解决你的问题,请参考以下文章