问题
**
iOS Programmatically Adding Left image to UITextField in Xcode?
**
1) I want Take a UIview
with White Background color
, inside the View
i added 4 Textfield's
?
2) I want to add 4 different images
to the left side
of the 4 different textfields
inside a View
Having following properties?
Properties For View
i) corner Radius
---5
ii) Border Color
----light Gray Color
3) How to add Space
between the image
and Placeholder Text
inside the Textfields
from the below figure and also add layer
for all textfields
with light gray color
?
How can i Achieve this ????
The View Combined With Textfields and Images like this
回答1:
UIImageView *imgforLeft=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; // Set frame as per space required around icon
[imgforLeft setImage:[UIImage imageNamed:@"yourImagename.png"]];
[imgforLeft setContentMode:UIViewContentModeCenter];// Set content mode centre or fit
self. yourTextfield.leftView=imgforLeft;
self. yourTextfield.leftViewMode=UITextFieldViewModeAlways;
choice -2
// short answer with out
self. yourTextfield.leftViewMode = UITextFieldViewModeAlways;
self. yourTextfield.leftView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImagename.png"]];
Swift
self. yourTextfield.leftViewMode = UITextFieldViewMode.Always
self. yourTextfield.leftView = UIImageView(image: UIImage(named: "yourImagename.png"))
Update
for TextField1
UIImageView *imgforLeft1=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; // Set frame as per space required around icon
[imgforLeft1 setImage:[UIImage imageNamed:@"yourImagename1.png"]];
[imgforLeft1 setContentMode:UIViewContentModeCenter];// Set content mode centre or fit
self. yourTextfield1.leftView=imgforLeft1;
self. yourTextfield1.leftViewMode=UITextFieldViewModeAlways;
self. yourTextfield1.layer.sublayerTransform = CATransform3DMakeTranslation(30, 0, 0);
for TextField2
UIImageView *imgforLeft2=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; // Set frame as per space required around icon
[imgforLeft2 setImage:[UIImage imageNamed:@"yourImagename2.png"]];
[imgforLeft1 setContentMode:UIViewContentModeCenter];// Set content mode centre or fit
self. yourTextfield2.leftView=imgforLeft1;
self. yourTextfield2.leftViewMode=UITextFieldViewModeAlways;
self. yourTextfield2.layer.sublayerTransform = CATransform3DMakeTranslation(30, 0, 0);
for TextField3
UIImageView *imgforLeft3=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; // Set frame as per space required around icon
[imgforLeft3 setImage:[UIImage imageNamed:@"yourImagename3.png"]];
[imgforLeft3 setContentMode:UIViewContentModeCenter];// Set content mode centre or fit
self. yourTextfield3.leftView=imgforLeft1;
self. yourTextfield3.leftViewMode=UITextFieldViewModeAlways;
self. yourTextfield3.layer.sublayerTransform = CATransform3DMakeTranslation(30, 0, 0);
for TextField4
UIImageView *imgforLeft4=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; // Set frame as per space required around icon
[imgforLeft4 setImage:[UIImage imageNamed:@"yourImagename4.png"]];
[imgforLeft4 setContentMode:UIViewContentModeCenter];// Set content mode centre or fit
self. yourTextfield4.leftView=imgforLeft1;
self. yourTextfield4.leftViewMode=UITextFieldViewModeAlways;
self. yourTextfield4.layer.sublayerTransform = CATransform3DMakeTranslation(30, 0, 0);
回答2:
UITextfield
have property that allow to set Left View you can use this for your goal
like this
[yourTextfield setLeftView:YOURVIEW];
回答3:
@property (weak, nonatomic) IBOutlet UITextField *myTextField;
UIImageView * myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0.0f, 0.0f, 15, 15)];
myImageView.image = [UIImage imageNamed:@"myImage"];
[myTextField addSubView:myImageView];
the CGRectMake(0.0f, 0.0f, 15, 15)
part lets you specify the position and size of your image (xPos, yPos, width, height)
来源:https://stackoverflow.com/questions/36883946/ios-programmatically-add-left-image-to-uitextfield-in-xcode