【问题标题】:String Length Limitation with UIAlertViews in IOS7?IOS 7中UIAlertView的字符串长度限制?
【发布时间】:2013-10-22 14:09:55
【问题描述】:

我正在使用一个新的 iOS 应用程序,我注意到在 iOS7 环境中安装该应用程序时出现以下问题。

第一次打开应用程序后,我们的应用程序会显示一个弹出窗口,其中包含需要接受的 AGB 才能开始使用它。 我们使用了UIAlertView,它运行良好,直到我们使用 iOS7 进行测试。实际上警报弹出并且似乎有内容,因为我可以看到一个巨大的滚动条!但奇怪的是,文字根本没有显示出来。。玩了一下文字,我注意到iOS7新的UIAlertView有某种字符串长度限制...

其他人注意到了吗?这是正常现象,还是 iOS 7 的错误?

我发现 custom UIAlertView 可以工作,但如果可能的话,我宁愿使用原生 API。

【问题讨论】:

  • 你能发布一些你的代码吗?
  • 看起来像这样!只需将 longTextVar 替换为非常大的文本即可。 UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"agb" message: longTextVar delegate: self cancelButtonTitle:@"ok" otherButtonTitles:nil];
  • 文本超过 15087 个字符且我不知道原因时发生。
  • 我认为您应该呈现一个自定义模式视图,其中包含 UITextView。根据 Apple 的文档:“警报视图向用户显示简明且信息丰富的警报消息。” developer.apple.com/library/ios/documentation/UserExperience/…
  • 也许你是对的,但对我来说似乎很奇怪,文档没有说明长度限制。也许这只是一个错误。为了解决这个问题,我最终决定使用 iOS7 的自定义 UIAlertView...感谢您的帮助!

标签: iphone ios ios7 uialertview


【解决方案1】:

我可以确认你所说的。可能会发布雷达 - 没有理由这样做。

for(int i = 0; i < 10000; i++) {
    longTextVar = [longTextVar stringByAppendingFormat:@"%d", i];
}
UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"agb" message: longTextVar delegate: self cancelButtonTitle:@"ok" otherButtonTitles:nil];

打破它,而 1000 追加工作

【讨论】:

    【解决方案2】:

    我遇到了同样的 UIAlertView 问题,在模拟器中,滚动视图足够大,可以容纳长文本,但文本不存在。在我尝试在 iphone alertview 上显示相同长度的消息后,确实显示了该消息。

    因此,我认为这是一个模拟器问题,而不是真正的限制,这就是它没有记录的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多