iphone - fields - text field ios 11
Agregar imagen a UITextField en Xcode? (8)
Necesito implementar el concepto de dropdown
en Xcode.
Para ese propósito, estoy usando un UIPickerview
.
Este selector se carga cuando se toca un campo de texto (en el evento textFieldDidBeginEditing:).
Pregunta:
¿Hay alguna manera de agregar una imagen a TextField
?
La imagen es como una marca de flecha por la que el usuario puede entender que aparece un dropdown
cuando se textfield
. ¿Cómo puedo hacerlo?
Para agregar márgenes / almohadillas adecuados entre la imagen y el campo de texto, intente con este código a continuación. Ampliando la respuesta de @ King-Wizard.
Aquí la altura de mi TextField es 44 Verifique la imagen adjunta para referencia.
Versión Swift:
emailTF.leftViewMode = .Always
let emailImgContainer = UIView(frame: CGRectMake(emailTF.frame.origin.x, emailTF.frame.origin.y, 40.0, 30.0))
let emailImView = UIImageView(frame: CGRectMake(0, 0, 25.0, 25.0))
emailImView.image = UIImage(named: "image1")
emailImView.center = emailImgContainer.center
emailImgContainer.addSubview(emailImView)
emailTF.leftView = emailImgContainer
Puede colocar el UIImageView
a la izquierda de su UITextField
.
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(96, 40, 130, 20)];
[textField setLeftViewMode:UITextFieldViewModeAlways];
textField.leftView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"searchIccon.png"]];
UITextField tiene la siguiente propiedad:
@property(nonatomic, retain) UIImage *background
ejemplo:
UITextField *myTextField = [[UITextField alloc] init];
myTextField.background = [UIImage imageNamed:@"myImage.png"];
UITextField tiene una propiedad rightView
, si tiene una imagen como esta- a continuación, puede establecer fácilmente el objeto ImageView a la vista derecha:
UITextField *myTextField = [[UITextField alloc] init];
myTextField.rightViewMode = UITextFieldViewModeAlways;
myTextField.rightView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"downArrow.png"]];
hey mate, quiere ver la vista desplegable y luego ver esta vista desplegable personalizada.
- http://code.google.com/p/dropdowndemo/downloads/list
- http://ameyashetti.wordpress.com/2010/09/26/drop-down-demo/
y para este requisito, use este código
UITextField *txtstate =[[UITextField alloc]init]; [txtstate setFrame:CGRectMake(10, 30,170, 30)];
txtstate.delegate=self;
txtstate.text=@"Fruits";
txtstate.borderStyle = UITextBorderStyleLine;
txtstate.background = [UIImage imageNamed:@"dropdownbtn.png"];
[txtstate setAutocorrectionType:UITextAutocorrectionTypeNo];
[self.view addSubview:txtstate];
y establezca el estilo de borde de su campo de texto ninguno ..
En Swift:
textField.leftViewMode = UITextFieldViewMode.Always
textField.leftView = UIImageView(image: UIImage(named: "imageName"))
Paso 1: agrega esta clase a tu proyecto y agrégala a la clase de tu textoFiltrado en el inspector de identidad,
class MyCustomTextField: UITextField {
@IBInspectable var inset: CGFloat = 0
@IBInspectable var leftImage: String = String(){
didSet{
leftViewMode = UITextFieldViewMode.Always
leftView = UIImageView(image: UIImage(named: leftImage))
}
}
override func textRectForBounds(bounds: CGRect) -> CGRect {
return CGRectInset(bounds, inset, inset)
}
override func editingRectForBounds(bounds: CGRect) -> CGRect {
return textRectForBounds(bounds)
}
override func leftViewRectForBounds(bounds: CGRect) -> CGRect {
return CGRectInset(CGRectMake(0, 2, 40, 40), 10, 10) //Change frame according to your needs
}
}
Paso 2: establece las inserciones de texto y la imagen izquierda del constructor de interfaz.
Paso 3: Disfruta.