- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章iOS改变UITextField占位文字颜色的三种方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
有时,uitextfield自带的占位文字的颜色太浅或者不满足需求,所以需要修改,而uitextfield没有直接的属性去修改占位文字的颜色,所以只能通过其他间接方式去修改.
例如:系统默认的占位文字颜色太浅 。
需要加深颜色,或者改变颜色 示例:
核心代码 。
方法一:通过attributedplaceholder属性修改占位文字颜色 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
cgfloat viewwidth = self.view.bounds.size.width;
cgfloat textfieldx = 50;
cgfloat textfieldh = 30;
cgfloat padding = 30;
uitextfield *textfield = [[uitextfield alloc] init];
textfield.frame = cgrectmake(textfieldx, 100, viewwidth - 2 * textfieldx, textfieldh);
textfield.borderstyle = uitextborderstyleroundedrect;
// 边框类型
textfield.font = [uifont systemfontofsize:14];
nsattributedstring *attrstring = [[nsattributedstring alloc] initwithstring:@
"请输入占位文字"
attributes:
@{nsforegroundcolorattributename:[uicolor redcolor],
nsfontattributename:textfield.font
}];
textfield.attributedplaceholder = attrstring;
[self.view addsubview:textfield];
|
方法二:通过kvc修改占位文字颜色 。
1
2
3
4
5
6
7
8
|
uitextfield *textfield1 = [[uitextfield alloc] init];
textfield1.frame = cgrectmake(textfieldx, cgrectgetmaxy(textfield.frame) + padding, viewwidth - 2 * textfieldx, textfieldh);
textfield1.borderstyle = uitextborderstyleroundedrect;
textfield1.placeholder = @
"请输入占位文字"
;
textfield1.font = [uifont systemfontofsize:14];
// "通过kvc修改占位文字的颜色"
[textfield1 setvalue:[uicolor greencolor] forkeypath:@
"_placeholderlabel.textcolor"
];
[self.view addsubview:textfield1];
|
方法三:通过重写uitextfield的drawplaceholderinrect:方法修改占位文字颜色 。
1、自定义一个textfield继承自uitextfield 2、重写drawplaceholderinrect:方法 3、在drawplaceholderinrect方法中设置placeholder的属性 。
1
2
3
4
5
6
7
8
9
10
|
// 重写此方法
-(
void
)drawplaceholderinrect:(cgrect)rect {
// 计算占位文字的 size
cgsize placeholdersize = [self.placeholder sizewithattributes:
@{nsfontattributename : self.font}];
[self.placeholder drawinrect:cgrectmake(0, (rect.size.height - placeholdersize.height)/2, rect.size.width, rect.size.height) withattributes:
@{nsforegroundcolorattributename : [uicolor bluecolor],
nsfontattributename : self.font}];
}
|
总结:
1、当我们使用纯代码创建uitextfield时,用第二种方法(kvc)修改占位文字颜色是最便捷的 2、当我们使用xib或者storyboard创建uitextfield时,通过自定义uitextfield,修改占位文字颜色是最适合的。 3、我们也可以在第三种重写方法中,通过结合第二种方法中的kvc修改属性来实现 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
最后此篇关于iOS改变UITextField占位文字颜色的三种方法的文章就讲到这里了,如果你想了解更多关于iOS改变UITextField占位文字颜色的三种方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一个为 iOS 设备开发的新手。我在 InterfaceBuilder 上插入了一个 UITextField,并分配了代码: @interface ComposeViewController :
我有两个要用于登录的 UITextFields,一个用于用户名,一个用于密码。在我无法关闭第一个 UITextField 中的键盘之前,但我设法解决了这个问题,现在的问题是,一旦它关闭,我就无法单击另
在 tvOS 中编辑 UITextField 会显示一个新 View ,用户可以在其中输入文本,文本输入完成后,用户将返回到之前的 View 。但是,我发现当我从文本编辑器返回时,我编辑的文本没有显示
我在同一个 ViewController 上有三个 UITextfields(customerRequestTextField 、 fundsAvailableTextField 和 amountOw
我有一个要求,需要将内容从一个 UITextField 复制到同一屏幕上的另一个 UITextField 中。它就像一个别名,一旦用户开始输入,我就应该开始复制内容。我正在使用方法 (BOOL)tex
我有一个 ViewController、许多 UITextField(一个在另一个下面)和第一个 UITextField 右边的按钮。 按下按钮时,我希望在此下方显示另一个 UITextField(每
我有 3 个 UITextField(位置、地址、 zip )。我在 viewDidLoad 中隐藏了 2 个字段。 Addres1.hidden = YES; Zip1.hidden = YES;
在 Swift 中,我有一个 UITextField、textA 和一个 UITextField、textB。 textA 有时会被禁用,但 textB 始终启用。 textA 被禁用: textA.
我有 2 个 UITextFields。一个是美元,另一个是瑞尔。当我输入 textfield$ 时,我想自动查看 textfieldRiel 中的值。怎么做 ? 最佳答案 实现 uitextfiel
我想将一个 UITextField 属性转移到另一个 UITextField。我该怎么做? 这是我的完整场景: 我创建了一个自定义单元格,其中有一个 UITextField。 现在,当我在我的 UIT
我有一个 UITextField,我想将其长度限制为 4 个字符,这是它的代码: func textField(textField: UITextField, shouldChangeCharacte
@IBOutlet weak var labelLabel: UILabel @IBOutlet weak var textFieldField: UITextField @IBAction func
我在 xib 中定义了一个 UITableViewCell。这个 UITableViewCell 有一个 UITextField,叫做 itemText。此 UITableViewCell 也采用其他
我们的应用程序有几个 UITextField,用户可以在其中输入字母数字输入代码,例如“AA149873A”。 我们希望画外音将这些读为“A A 1 4 9 8 7 2 A”,但它却将数字读为数字:“
在我的 iOS 应用程序中,我有一个文本字段,其中有一个分配给它的 inputView 的选择器 View 。在 iOS 设备上,每当用户点击文本字段时,选择器 View 就会弹出。但是,当我将它作为
在 iOS 13 中,访问 UITextField 时发生崩溃_placeholderLabel.textColor 标签键。 用于应用占位符文本颜色的键。 [textfield setValue:[
我想复制iMessage结构的效果,点击工具栏中的UITextView,键盘就会出现。但我不知道如何在打字时显示文本。我认为当键盘出现时我应该将 UITextField 向上移动 class View
我有两个 UITextField,cDiseasePicker 和 optionalLMS。 我的cDiseasePicker使用UIPickerView作为输入,选项为“否”、“是,1VD”、“是,
当点击某个 CA 层时,我动态创建了两个 UITextField。我已将第一个文本字段设为第一响应者,我想要的是,当我在第一个文本字段中输入文本并按完成时,我希望第二个文本字段成为第一响应者。这就是我
我正在寻找 UITextField 的方法,它在我输入 UITextField 后产生效果。 我有一个方法来进行计算我使用一个按钮,但我不想使用,我希望你在我在 UITextField 中输入数字后运
我是一名优秀的程序员,十分优秀!