iOS – 为UITextField实现一个类
我有一个UIView
,有很多的UITexfields
,
UITextField *field1 = [[UITextField alloc] initWithFrame:CGRectMake(135, 292, 50, 20)]; field1.backgroundColor = [UIColor clearColor]; field1.borderStyle = UITextBorderStyleNone; field1.returnKeyType = UIReturnKeyNext; field1.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom; field1.font = [UIFont fontWithName:inputFont size:fontSize]; field1.placeholder = @"size"; [self addSubview:field1];
我可以创build一个UITextField
类并使用这些参数预设创build此类的一个实例吗? – 为了减less代码:(如果我有很多领域的代码变得非常长,重复?
我可以得到一些关于如何设置这个类的帮助! -谢谢
是的,你可以做一个BaseUITextFeild
.h
和.m
文件,如下图所示。
然后在BaseUITextFeild.m
文件中添加下面关于你的devise的代码
- (void)awakeFromNib { [self setupUI]; [self setKeyboardAppearance:UIKeyboardAppearanceAlert]; } // Function to setup the common UI throught the app. - (void)setupUI { [self setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter]; [self setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter]; [self setTextAlignment:NSTextAlignmentCenter]; [self setValue:[UIColor colorWithRed:120.0/225.0 green:120.0/225.0 blue:120.0/225.0 alpha:1.0] forKeyPath:@"_placeholderLabel.textColor"]; [self setFont:[UIFont boldSystemFontOfSize:15.0f]]; }
以编程方式生成自定义UITextField
然后只要在ViewController
import "BaseUITextFeild.h"
就可以使用它。
BaseUITextFeild *field1 = [[BaseUITextFeild alloc] initWithFrame:CGRectMake(135, 292, 50, 20)]; [self addSubview:field1];
从Interface Builder(Storyboard / .XIB)生成自定义UITextField
添加一个UITextfield,然后只是将类更改为您的自定义TextView类。
通过应用以下技术,您可以通过应用程序使用这个相同的UITextFeild
,只需要import BaseUITextFeild.h
。
你也可以使用这个UITextFieldCategory
按照这两个示例UITextField + withFrame.h和UITextField + ColoredPlaceholder.h 。 你也可以根据你的需要定制你的UITextField
。
创build一个方法
-(UITextField*)createTextFieldWithFrame:(CGRect)frame{ UITextField *textField = [[UITextField alloc] initWithFrame:frame]; textField.backgroundColor = [UIColor clearColor]; textField.borderStyle = UITextBorderStyleNone; textField.returnKeyType = UIReturnKeyNext; textField.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom; textField.placeholder = @"size"; [self.view addSubview:textField]; return textField; }
为创build多个文本字段调用此方法
UITextField *text1 = [self createTextFieldWithFrame:CGRectZero]; UITextField *text2 = [self createTextFieldWithFrame:CGRectZero];
您可以创build一个自定义的xib
,并根据需要创buildUITextField
,并在每次需要时重新使用它。
或者你可以UITextField
并在里面做额外的设置。
- iOS:从UITableViewdynamic添加数据到NSArray
- video在应用AVVideoComposition后旋转
- 有没有办法在iOS设备上调整手电筒/闪光灯的亮度等级?
- 如何传递UnsafeMutablePointertypes的参数<UnsafePointer <Void >>
- UIBarButton不会显示在Tab Controller中的Table View上
- UIImagePickerController教程?
- 如何在UIBarbutton中将UIAlertcontroller实现为PopOver(箭头方向向上)
- 将KODI安装到您的IPHONE IPAD IPOD上
- NSString到TimeInterval