【问题标题】:Loupe Magnification with White Text & Clear Background on IphoneIphone 上带有白色文本和清晰背景的放大镜放大
【发布时间】:2010-11-18 19:11:53
【问题描述】:

你们对我的最后一个问题帮助很大,我想我会再给你一个机会。我编写了一个应用程序,其主题使用深蓝色玻璃状背景和白色/灰色文本和标签。我的应用程序中的文本字段有清晰的背景和白色文本,一切都显示得很好。我唯一担心的是,当您在文本框中按住触摸以获取放大镜时,当然白色文本会显示在白色背景上……您无法阅读。有人对如何在这里实现可用的放大镜有任何想法吗?

【问题讨论】:

    标签: iphone text colors zooming readability


    【解决方案1】:

    我想出了一个简单的解决方法来达到预期的效果。我也经历了制作自己的放大镜的完整过程,但是由于有关于制作自己的放大镜的明确文档(请参阅 kiyoshi 的回答),而另一种方法非常简单,我决定在这里记录。它基本上只是假装清晰的背景,以便白色文本出现在放大镜中。我用于视图的背景看起来像深蓝色背景上的蓝色烟雾:

    alt text http://img231.imageshack.us/img231/9835/beforestatex.jpg

    我截取了模拟器的屏幕截图,其中文本字段可见且背景为黑色,以便更好地显示:

    alt text http://img193.imageshack.us/img193/9023/blackfieldx.jpg

    然后我截取了那个屏幕截图并在 Photoshop 中将其设为半透明,并覆盖了我的原始背景图像以准确找到文本字段出现在背景上的位置:

    alt text http://img266.imageshack.us/img266/9493/transparencyfullscreenx.jpg

    然后我将用作文本字段背景的确切像素复制到一个新的 PNG 中并保存并将其设置为背景图像:

    alt text http://img41.imageshack.us/img41/3450/textboxback.png

    forwardToField.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"textboxback.png"]];

    请记住,图像将在放大镜中作为图案重复...因此,如果您不想看到边缘,只需确保您的文本字段大于放大镜的高度和宽度。

    之前:

    alt text http://img196.imageshack.us/img196/2672/beforex.jpg

    之后:

    alt text http://img23.imageshack.us/img23/2182/afterxd.jpg

    我希望这对那里的人有所帮助!

    【讨论】:

      【解决方案2】:

      实际上创建自己的循环非常可行。还没有尝试过使用苹果,所以不知道他们对此有何感受。

      基本思想是覆盖触摸,使用计时器来查看用户触摸屏幕的时间。放大镜只是一个 UIView,它可以将其后面的视图作为图像抓取并放大。

      看看这篇来自 Craftymind here的文章

      文章让你缓存整个图像,它后面肯定更快,用于渲染放大镜,但如果你有不断变化的东西(即 textFields),我已经能够实时渲染循环图像而无需太性能受到很大影响。

      【讨论】:

        【解决方案3】:

        不幸的是,我知道如何更改放大镜背景的唯一“公开”方式是设置 textField.backgroundColor

        我假设由于您将背景设置为 clearColor,放大镜默认为白色背景,因此唯一的方法是将您的 backgroundColor 设置为不清晰的内容。

        我还假设,既然您确实提到您将背景设置为清晰,那么不清晰是不可行的。因此,我能想到的解决方法有两种:

        1. 假设放大 lopue 通过调用 backgroundColor 实现(而不是其他一些晦涩的私有 API 方法)获取其背景颜色:覆盖 backgroundColor 方法并返回纯色。
        2. 创建自己的放大镜(可能不可行)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-25
          • 2013-08-27
          • 2021-04-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多