以编程方式在UIView上添加UITextField

sus*_*use 37 iphone uitextfield uiview

如何以编程方式增加UITextFieldUIView在iPhone编程?

UITextField* text;
UIView* view = [[UIView alloc]init];

[view addSubview:???];
Run Code Online (Sandbox Code Playgroud)

小智 244

如果您希望看起来像"界面"构建器中的文本字段:

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 40)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:15];
textField.placeholder = @"enter text";
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.keyboardType = UIKeyboardTypeDefault;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;    
textField.delegate = self;
[self.view addSubview:textField];
[textField release];
Run Code Online (Sandbox Code Playgroud)

  • `contentVerticalAlignment`是这里的关键元素 (8认同)

Ski*_*kie 32

Objective-C的:

CGRect someRect = CGRectMake(0.0, 0.0, 100.0, 30.0);
UITextField* text = [[UITextField alloc] initWithFrame:someRect]; 
UIView* view = [[UIView alloc] initWithFrame:someRect];

[view addSubview:text];
Run Code Online (Sandbox Code Playgroud)

迅速:

let someFrame = CGRect(x: 0.0, y: 0.0, width: 100.0, height: 30.0)

let text = UITextField(frame: someFrame)
let view = UIView(frame: someFrame)
view.addSubview(text)
Run Code Online (Sandbox Code Playgroud)