【问题标题】:UIActionsSheet text shadow problemUIActionsheet 文字阴影问题
【发布时间】:2010-12-27 12:56:57
【问题描述】:

UIActionSheet 按钮的文本阴影有问题。在 iOS 4.0.2 长字符串被自动截断。在 iOS 4.2 中不,这些文本以较小的字体呈现。但是现在阴影的偏移量被破坏并且变大了。

是否有可能更改/删除 UIActionSheet 的文本阴影。

编辑:我不是用initWithTitle:,而是用普通的init 构建UIActionSheet,然后设置所有需要的属性,因为可能的按钮数量是动态的,文本不能更改。我用initWithTitle: 对其进行了测试,得到了相同的结果。

【问题讨论】:

    标签: iphone uiactionsheet shadow


    【解决方案1】:

    您可以refer this 截断您的字符串,然后再将其显示在 UIActionSheet 中。

    【讨论】:

    • 这不是我真正想要得到的答案。手动截断字符串只是次优方法。
    【解决方案2】:

    我认为有两种解决方法(尽管我自己不会在我的应用程序中使用它们,原因在解决方法下方列出):

    • 在第一种情况下,您访问 UIActionSheet 的子层,获取标签,在显示操作表之前更改 shadowOffsetshadowColor
    • 其次,您可以使用空白标题初始化操作表,并在操作表的正确位置添加您自己的标签作为子视图。 (比第一种方法更棘手)。

    现在第一种方法风险很大,因为 UIActionSheet 的层结构可以由苹果在未来的更新中更改,因此您的应用程序可能会崩溃并且不会给出好的结果。

    仅当您可以计算出应该放置标签的确切帧以使其看起来不错时,继续使用第二种方法才有效。但是在您的情况下,按钮的数量也会有所不同,因此这种方法最初需要花费大量时间才能使事情正常进行。

    因此,我会先截断字符串,然后再将它们设置为按钮的标题。

    不确定这有多大帮助。但我确信在将它们设置为标题之前截断字符串是最好的选择。

    【讨论】:

      【解决方案3】:

      你是否在做任何非默认的显示文本?
      如果您只使用UIActionSheet-initWithTitle:…,您应该向 Apple 写一份错误报告。
      或将文本缩短为“Frankfurt International (FRA), DE”;)

      【讨论】:

        【解决方案4】:

        这似乎已在 4.30 中修复。我发现无法在 4.2x 中修复它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-16
          • 2011-04-27
          • 2021-02-19
          • 2012-11-05
          相关资源
          最近更新 更多