【问题标题】:Where the magnifying glass takes the color when editing a UITextField?编辑 UITextField 时放大镜的颜色在哪里?
【发布时间】:2011-04-08 06:36:40
【问题描述】:

我有一个 UITextField,背景颜色设置为 ClearColor,文本为白色。该视图的背景为深色。

当我要编辑文字时,放大镜背景也是白色或很浅的颜色,看不到文字。

如何强制放大镜的背景变暗?

谢谢!

r.

【问题讨论】:

  • 这在非越狱手机和没有私有 API 的情况下是不可能的,抱歉。
  • 所以我不能有一个白色的 UITextField 并使用放大镜???太糟糕了:-(谢谢
  • 您找到解决方案了吗...即使我也面临同样的问题?
  • 如果您有同样的问题,您可以检查您的 UI 层次结构中是否存在其他 UIWindow 对象。在应用程序运行时按 UI 调试按钮并尝试寻找僵尸 Windows。我有同样的问题,并通过删除 windows = nil;

标签: iphone uitextfield


【解决方案1】:

yakovlev 有一个很好的解决方案here,即设置一个合适的backgroundColor,然后以编程方式在UIView 后面紧跟UITextView 创建一个background

【讨论】:

    【解决方案2】:

    尝试在文字上使用小阴影:

    // text shadow
    text.layer.shadowRadius = 0.0f;
    text.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
    text.layer.shadowColor = [[UIColor colorWithRed:(255.0/255.0) green:(255.0/255.0) blue:(255.0/255.0) alpha:1.0f] CGColor];
    text.layer.shadowOpacity = 1.0;
    

    你可以在放大镜下阅读文字。

    【讨论】:

      【解决方案3】:

      UITextField 将放大镜背景设置为文本字段的背景颜色。因此,设置UITextFieldbackgroundColor 属性,如下所示:

      myTextField.backgroundColor = [UIColor blackColor];
      

      如果您愿意,可以用另一种深色替换 UIColor

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-01
        • 1970-01-01
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 2014-03-16
        相关资源
        最近更新 更多