如何在文本字段中对齐此类占位符位置?

时间:2016-12-22 11:40:45

标签: ios objective-c

我想要这个占位符的地方

expected placeholder place

我尝试所有对齐它不起作用。这是我实现白色的占位符程序:

[searchtextfield setValue:[UIColor whitecolor] forKeyPath:@"_placeholderLabel.textColor"];

2 个答案:

答案 0 :(得分:4)

目标c

对于仅填充占位符,此代码可以使用

usernameTF.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"    Your text"];

对于填充UITextField的占位符和文本,以下代码将起作用

usernameTF.layer.sublayerTransform = CATransform3DMakeTranslation(40, 0, 30);

适用于Swift 3.0

对于仅填充占位符,此代码可以使用

self.usernameTF.attributedPlaceholder = NSAttributedString(string: "    YourText")

对于填充UITextField的占位符和文本,以下代码将起作用

usernameTF.layer.sublayerTransform = CATransform3DMakeTranslation(40, 0, 30)

答案 1 :(得分:0)

实现此功能的简便方法,您还可以将其用于多个文本字段:

首先制定一个方法:

创建新文件(nsobject)文件名:Alert

<强> alert.m

+(void) setLeftPaddingTextField:(UITextField *)textField paddingValue:(int) paddingValue
{
UIView *paddingView     = [[UIView alloc] initWithFrame:CGRectMake(0, 0, paddingValue, textField.frame.size.height)];
textField.leftView      = paddingView;
textField.leftViewMode  = UITextFieldViewModeAlways;
}

+(void) setRightPaddingTextField:(UITextField *)textField paddingValue:(int) paddingValue
{
UIView *paddingView     = [[UIView alloc] initWithFrame:CGRectMake(0, 0, paddingValue, textField.frame.size.height)];
textField.rightView = paddingView;
textField.rightViewMode = UITextFieldViewModeAlways;
}

<强> alert.h

//左边填充

+(void) setLeftPaddingTextField:(UITextField *)textField paddingValue:(int) paddingValue;

//右边填充

+(void) setRightPaddingTextField:(UITextField *)textField paddingValue:(int) paddingValue;

您的控制器

[Alert setLeftPaddingTextField:yourTextField paddingValue:20];

您可以使用一种已定义的方法将其用于许多文本字段。