Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何设置UITextField中添加的图标的位置?_Ios_Swift_Uitextfield_Uitextview - Fatal编程技术网

Ios 如何设置UITextField中添加的图标的位置?

Ios 如何设置UITextField中添加的图标的位置?,ios,swift,uitextfield,uitextview,Ios,Swift,Uitextfield,Uitextview,电子邮件图标和占位符文本相互拥抱 我想在它们之间增加一些空间 下面是我用来创建这些字段的代码 // view for fields background var view = UIView(frame: CGRectMake(35, 300, 300, 90)); view.backgroundColor = UIColor.whiteColor(); view.layer.cornerRadius = 5.0 // email text field var email = UITextFi

电子邮件图标和占位符文本相互拥抱

我想在它们之间增加一些空间

下面是我用来创建这些字段的代码

// view for fields background
var view = UIView(frame: CGRectMake(35, 300, 300, 90));
view.backgroundColor = UIColor.whiteColor();
view.layer.cornerRadius = 5.0

// email text field
var email = UITextField(frame: CGRectMake(0, 0, 300, 50));
email.backgroundColor = UIColor.whiteColor();

var emailIcon = UIImageView();

var emailIconImage = UIImage(named: "email_icon.png");

emailIcon.image = emailIconImage;

email.leftView = emailIcon;

email.leftViewMode = UITextFieldViewMode.Always

email.layer.cornerRadius=5.0;

email.attributedPlaceholder = NSAttributedString(string:"E-mail",
    attributes:[NSForegroundColorAttributeName: UIColor.grayColor()])

emailIcon.frame = CGRect(x: 30, y: 15, width: 30, height: 20)

view.addSubview(emailIcon)

谢谢

您可以从其图层更改位置:

 txtemail.layer.position = CGPointMake(30, 30)

可以从其图层更改位置:

 txtemail.layer.position = CGPointMake(30, 30)

子类UITextField并实现以下方法以将占位符文本放置在所需位置-

placeholderRectForBounds:

子类UITextField并实现以下方法以将占位符文本放置在所需位置-

placeholderRectForBounds:

在不进行子类化的情况下,最简单的方法是为EmailIcon宽度指定比EmailIconImageWidth多10pts的值。然后根据您的需要将EmailIcon的内容模式设置为中间或右边。以下是obj C中的代码,希望您能在swift中找到:

EmailIcon = [[UIImageView alloc] initWithImage: emailIconImage];
EmailIcon.frame = CGRectMake(0.0, 0.0, EmailIcon.image.size.width+10.0, EmailIcon.image.size.height);
EmailIcon.contentMode = UIViewContentModeCenter;  //Or UIViewContentModeRight

textField.leftView = EmailIcon;
textField.leftViewMode = UITextFieldViewModeAlways;

在不进行子类化的情况下,最简单的方法是为EmailIcon宽度指定比EmailIconImageWidth多10pts的值。然后根据您的需要将EmailIcon的内容模式设置为中间或右边。以下是obj C中的代码,希望您能在swift中找到:

EmailIcon = [[UIImageView alloc] initWithImage: emailIconImage];
EmailIcon.frame = CGRectMake(0.0, 0.0, EmailIcon.image.size.width+10.0, EmailIcon.image.size.height);
EmailIcon.contentMode = UIViewContentModeCenter;  //Or UIViewContentModeRight

textField.leftView = EmailIcon;
textField.leftViewMode = UITextFieldViewModeAlways;
可能的重复可能的重复