UITextField 在 iOS 中将占位符颜色设置为深色

2024-03-16

我尝试过设置UITextField “占位符”颜色为深色。

NSAttributedString * search = [[NSAttributedString alloc] initWithString:@"Search" attributes:@{NSForegroundColorAttributeName: [UIColor blackColor]}];

textField.attributedPlaceholder = search;
  • 但仍然UITextField呈现浅灰色“占位符”.

  • 可以设置暗吗“占位符”颜色为UITextField?

我也尝试过另一种方法

[textField setValue:[UIColor blackColor] forKeyPath:@"_placeholderLabel.textColor"];

但这两种方法都适用iOS 7,但没有致力于iOS 6.

  • 可以设置暗吗“占位符”颜色为UITextField in iOS 6 target?

Thanks!


正如 Apple 所建议的,子类化 UITextField 并覆盖- (void)drawPlaceholderInRect:(CGRect)rect是要走的路:

- (void)drawPlaceholderInRect:(CGRect)rect { 
    UIColor *colour = [UIColor lightGrayColor]; 
    if ([self.placeholder respondsToSelector:@selector(drawInRect:withAttributes:)]) 
    { // iOS7 and later 
        NSDictionary *attributes = @{NSForegroundColorAttributeName: colour, NSFontAttributeName: self.font}; 
        CGRect boundingRect = [self.placeholder boundingRectWithSize:rect.size options:0 attributes:attributes context:nil]; 
        [self.placeholder drawAtPoint:CGPointMake(0, (rect.size.height/2)-boundingRect.size.height/2) withAttributes:attributes]; } 
    else { // iOS 6 
        [colour setFill]; 
        [self.placeholder drawInRect:rect withFont:self.font lineBreakMode:NSLineBreakByTruncatingTail alignment:self.textAlignment]; 
    } 
 } 

Credit: http://www.brightec.co.uk/blog/how-change-colour-uitextfields-placeholder-text-ios7-and-still-support-ios6 http://www.brightec.co.uk/blog/how-change-colour-uitextfields-placeholder-text-ios7-and-still-support-ios6

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITextField 在 iOS 中将占位符颜色设置为深色 的相关文章

随机推荐

  • 如何让我的设备振动?

    我正在使用 AS3 为 Android 制作 Flash 游戏 我希望用户知道他通过使设备振动一秒钟来按下按钮 有人可以向我解释如何才能做到这一点吗 我是否需要导入特定的类以及代码应该是什么样子 提前致谢 要使用振动扩展 AIR 应用程序将
  • ASP.NET MVC 单向路由

    是否可以在 Asp net MVC 的 RouteCollection 中定义一个路由 以便它只执行 URL 重写 部分并忽略 Html Actionlink 的 URL 生成 事实上 我想在控制器和操作之间添加一个关键字 控制器 关键字
  • 如何在没有 XIB 的情况下将选项卡栏添加到现有视图控制器

    I m 尝试避免使用 Interface Builder越多越好 目前 我通过代码创建了视图控制器 并通过代码更改了视图 我现在需要其中一个步骤将应用程序发送到一个新的观点标签栏 这也将使我改变观点 理想情况下 我要做的就是告诉当前视图控制
  • 如何保持React状态与MySQL数据库同步

    Scene 我正在构建一个简单的日历 Web 应用程序 它使用 React 作为前端 使用 MySQL 作为服务器后端 该应用程序在首次安装时从服务器检索所有事件的列表 将它们显示给用户并允许进行 CRUD 操作 一切都按预期进行 Ques
  • 从 ExtJS 请求到 node.js 时出现 CORS 问题。请求或响应标头不正确?

    我在网络内两个不同域之间向 Nodejs 服务器发出 ExtJS AJAX 请求时遇到问题 非常感谢任何帮助 当尝试从 ExtJS 客户端的 http 和 https 时 响应失败 但我本地的 Curl 通过 http 返回 200 OK
  • 在.NET / Visual Studio中定义TRACE常量

    在 Visual Studio 2010 中 如果您转到项目的属性并转到 生成 选项卡 则会有一个 定义 TRACE 常量 复选框 这相当于执行 define TRACE System Diagnostics Trace 的所有方法都有一个
  • 如何在 Android 中发送 vcard/contacts/?vcf var SMS 或 MMS?

    我想修改可以发送 contacts vcard vcf 文件 的Android源代码 彩信或短信 Android默认方式是通过蓝牙 我找了很多方法 但都行不通 我知道vcf格式是这样的 BEGIN VCARD VERSION 2 1 N l
  • 如何为 HPA 自动缩放指标启用 KubeAPI 服务器

    我使用的是 Kube 版本 v1 13 0 由于 Heapster 从 v1 11 开始就被贬值了 所以我一直坚持启用集群 Metrics 的 API 服务器来实现 HPA root kubectl get pods deployment
  • 安装 JSTL 会导致 org.xml.sax.SAXParseException: Prolog 中不允许内容

    在我的应用程序中 我使用 JSTL 但是当我在 Tomcat 中部署应用程序时 出现以下错误 SEVERE Parse Fatal Error at line 1 column 1 Content is not allowed in pro
  • ImportError:无法从“google.cloud”导入名称“tasks_v2”

    我正在尝试使用 GCP 文档中提供的 Google Cloud Tasks 代码示例 https cloud google com tasks docs creating http target tasks https cloud goog
  • Python 的 csv.reader(filename) 真的返回列表吗?看来并非如此

    所以我仍在学习Python 并且今天正在学习如何读取文件 csv 文件 我刚刚观看的课程告诉我 使用 csv reader filename 返回一个列表 所以我写了下面的代码 import csv my file open file na
  • 如何用PHP制作计算器?

    我想使用 PHP 来计算简单的代数表达式 例如 8 5 1 通过输入
  • iOS 11(Beta)中的webKit支持WebRTC吗?

    我有一个 URL 可以在 iOS11 测试版 上的 Safari 上正常工作 音频 视频也可以正常工作 但是 当我使用 WKWebView 加载此 URL 时 它会给我一个错误 不兼容的浏览器 当我在 WebKit 中检查浏览器版本时 它会
  • 批处理文件命令 PAUSE 不起作用

    我正在创建一个简单的批处理文件来帮助完成一些事情 并且我还打印了一些说明 我希望用户在退出之前看到这些说明 目前 窗口关闭得很快 所以我添加了PAUSE在文件末尾 但它不想工作 我查看了有关 SO 的其他问题 并检查以确保行结尾是CRLF我
  • 实体框架中的类和接口层次结构?

    我有两个相关的类 它们共享一个公共接口 并且都存储在同一个基础数据库表中 然而 实体框架生成一个公共类 而我确实需要两个不同的类 我该如何解决这个问题 最好使用基类而不是接口吗 如何更改 EF 模型以提供映射到一张表的两个类 Edit Ac
  • 用于获取虚拟访客所有者的 Softlayer API

    是否有任何 API 可以获取虚拟访客的所有者 已配置虚拟访客的用户 我只能看到有权访问虚拟访客 API 的用户 Thanks 请使用过滤器尝试以下请求 https username apikey api softlayer com rest
  • 模板函数只匹配某些类型?

    我想定义一个函数模板 template
  • 跳过 mysql 中重复条目的插入

    我有一个最喜欢的表 其中包含一些字段 例如login id driver id 一个login id可能有许多driver id 然后我使用批量更新 没有任何检查 driver id 是否存在于表中 输入数据将是驱动程序 id 的集合 如果
  • 如何解析 firebase 云函数上的多部分/表单数据?

    根据此处的文档 我一直在尝试将带有文本和图像文件的多部分 表单数据对象发布到我的云功能之一 https cloud google com functions docs writing http multipart data and file
  • UITextField 在 iOS 中将占位符颜色设置为深色

    我尝试过设置UITextField 占位符 颜色为深色 NSAttributedString search NSAttributedString alloc initWithString Search attributes NSForegr