2

我有一个带有文本的 UIAlertView,可以在 iOS6 上毫无问题地显示。但是在 iOS7 中,此警报的标题和消息位于滚动视图中。

我正在使用以下代码创建警报

self.newCategoryAlertView = [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"MessageTitleNewCategory", nil)
                                                            message:NSLocalizedString(@"MessageTextNewCategory", nil)
                                                           delegate:self
                                                  cancelButtonTitle:NSLocalizedString(@"ButtonCancel", nil)
                                                  otherButtonTitles:NSLocalizedString(@"ButtonOK", nil), nil] autorelease];

self.newCategoryAlertView.tag = alertViewTypeNewCategory;
self.newCategoryAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;
[self.newCategoryAlertView textFieldAtIndex:0].delegate = self;
[self.newCategoryAlertView textFieldAtIndex:0].autocapitalizationType = UITextAutocapitalizationTypeSentences;
[[self.newCategoryAlertView textFieldAtIndex:0] setReturnKeyType:UIReturnKeyDone];
[[self.newCategoryAlertView textFieldAtIndex:0] setKeyboardAppearance:UIKeyboardAppearanceDefault];
[self.newCategoryAlertView textFieldAtIndex:0].enablesReturnKeyAutomatically = YES;

[self.newCategoryAlertView show];

iOS7 上的结果是这样的:iOS7 上的结果

我试图使文本更短但没有成功,并且 UIAlertView 的文档没有给我提示。

如何解决此行为?

编辑:

这是向下滚动时的外观。如您所见,完整的消息是可见的。

相同的警报向下滚动

4

2 回答 2

1

在我看来,这是一个很好的行为,因为屏幕上没有空间来显示键盘和 de UIAlert。我几乎可以肯定,如果您让应用程序以纵向模式工作,警报将显示正常,没有可滚动的标题和消息。

如果应用程序仅以横向运行,并且您不想拥有可滚动的视图,我想最好的解决方案可能是保留 UIAlert 消息,但取消 UIAlert 倾斜。

我希望这有帮助!

于 2013-10-21T18:59:55.863 回答
0

我使用了自定义控件URBAlertView我发现了一个类似的问题,我已经在github上向作者报告了这个问题。

作者在此处的提交下提供了修复。但是,您也可以在此处参考 repo 中的前三个提交。

我希望这可以帮助大家找出解决方案

于 2013-12-13T16:11:12.303 回答