как установить стиль границы UITextField

#iphone #ios #objective-c #uitextfield

#iPhone #iOS #objective-c #uitextfield

Вопрос:

Как я могу установить стиль границы UITextField программно?

Я создаю свое текстовое поле следующим образом:

 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];
  

Ответ №1:

Попробуйте это

 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];
  

Для справки

Ответ №2:

Вы можете использовать Quartzcore и свойства слоя.

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

Я должен не забыть добавить QuartzCore в ваш проект и импортировать его туда, где вы хотите его использовать.

Ответ №3:

Из четырех ниже любой может быть использован программно,

 [textField setBorderStyle:UITextBorderStyleNone];

[textField setBorderStyle:UITextBorderStyleLine];

[textField setBorderStyle:UITextBorderStyleBezel];

[textField setBorderStyle:UITextBorderStyleRoundedRect];
  

где TextField является выходом из UITextField

Ответ №4:

Я знаю, вопрос касается Obj-C, но я пришел сюда ради Swift. И в Swift это делается вот так:

 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;
  

Это позволяет задать пользовательский цвет фона и границу того же цвета (чтобы скрыть границу, но при этом сохранить некоторое отступ между текстом и границами текстового поля.

Ответ №5:

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

[pTxtTithiTime.layer setBorderWidth:0.8];
  

// Часть с закругленным углом, где вы указываете радиус угла вашего вида:

   pTxtTithiTime.layer.cornerRadius = 5;

  pTxtTithiTime.clipsToBounds = YES;
  

Ответ №6:

Вы можете создать UITextField программно следующим образом:

 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;