2011-04-26 11 views
25

¿Cómo puedo establecer el estilo de borde de un UITextField programáticamente?cómo establecer el estilo de borde de un UITextfield

estoy creando mi campo de texto, así:

UITextField *tfText = [[UITextField alloc] initWithFrame:CGRectMake(65, 200, 200, 30)]; 
tfText.backgroundColor = [UIColor colorWithRed:0.2 green:0.9 blue:0.5 alpha:0.3];  
tfText.textAlignment = UITextAlignmentCenter; 
[self.view addSubview:tfText]; 
[tfText release]; 

Respuesta

51

Prueba este

UITextField *tfText = [[UITextField alloc] initWithFrame:CGRectMake(65, 200, 200, 30)]; 
tfText.backgroundColor = [UIColor colorWithRed:0.2 green:0.9 blue:0.5 alpha:0.3];  
tfText.textAlignment = UITextAlignmentCenter; 
// Border Style None 
[tfText setBorderStyle:UITextBorderStyleNone]; 
[self.view addSubview:tfText]; 
[tfText release]; 

Para referencia

8

Usted puede utilizar Quartzcore y las propiedades de la capa.

sometextfield.layer.borderWidth = 1; 
sometextfield.layer.borderColor = [[UIColor redColor] CGColor]; 

Debo añadir QuartzCore a su proyecto e importarlo donde quiera usarlo.

1
[pTxtTithiTime.layer setBorderColor:[[[UIColor grayColor] colorWithAlphaComponent:0.5] CGColor]]; 

[pTxtTithiTime.layer setBorderWidth:0.8]; 

// La parte de esquinas redondeadas, donde se especifica rad esquina de su visión ius:

pTxtTithiTime.layer.cornerRadius = 5; 

    pTxtTithiTime.clipsToBounds = YES; 
0

Puede hacer UITextField programación de esta manera:

UITextField *txtField = [[UITextField alloc]initWithFrame:CGRectMake(10, 260, 280, 30)]; // your required coordinate 
txtField.delegate =  self; 
txtField.placeholder =  @"My TextField"; 
txtField.borderStyle =  UITextBorderStyleNone; 
txtField.keyboardType =  UIKeyboardTypeDefault; 
txtField.backgroundColor =  [self setBackGroundColorOnButton]; 
txtField.layer.cornerRadius = 5.0; 
5

Desde abajo cuatro, nadie puede usarse programáticamente,

[textField setBorderStyle:UITextBorderStyleNone]; 

[textField setBorderStyle:UITextBorderStyleLine]; 

[textField setBorderStyle:UITextBorderStyleBezel]; 

[textField setBorderStyle:UITextBorderStyleRoundedRect]; 

donde textField es una salida de UITextField

2

Lo sé, la pregunta es sobre Obj-C, pero vine aquí para Swift. Y en Swift, se hace así:.

txt.backgroundColor = UIColor(red: 0.9, green: 0.9, blue: 0.9, alpha: 1.0); 
txt.borderStyle = UITextBorderStyle.RoundedRect 
let myColor : UIColor = UIColor(red: 0.9, green: 0.9, blue: 0.9, alpha: 1.0); 
txt.layer.borderWidth = 3; 
txt.layer.borderColor = myColor.CGColor; 

Esto establece un color de fondo personalizado y una frontera en el mismo color (para ocultar la frontera, pero todavía tienen algo de relleno entre el texto y las fronteras TextField

Cuestiones relacionadas