我只是Objective C中的初学者。我想创建只有底线边框的多个文本框。 为了这个,我克里特岛一个新的类customTextField
看看我的代码; -如何在多个文本框中创建底线边框
CustomTextField.m
- (id)init {
CALayer *border = [CALayer layer];
CGFloat borderWidth = 2;
border.borderColor = [UIColor grayColor].CGColor;
border.frame = CGRectMake(0, self.frame.size.height - borderWidth, self.frame.size.width, self.frame.size.height);
border.borderWidth = borderWidth;
[self.layer addSublayer:border];
self.layer.masksToBounds = YES;
return self;
}
在我loginViewController.h
#import <UIKit/UIKit.h>
#import "CustomTextField.h"
@interface LoginViewController : UIViewController
@property (strong, nonatomic) IBOutlet CustomTextField *txtFirstName;
@property (strong, nonatomic) IBOutlet CustomTextField *txtLastName;
@property (strong, nonatomic) IBOutlet CustomTextField *txtEmail;
@property (strong, nonatomic) IBOutlet CustomTextField *txtPassword;
@end
loginViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
_txtFirstName = [[CustomTextField alloc]init];
_txtLastName = [[CustomTextField alloc]init];
_txtEmail = [[CustomTextField alloc]init];
_txtPassword = [[CustomTextField alloc]init];
}
我不知道我犯了错误。这段代码什么都不做。任何人都可以告诉我我做错了吗? 任何帮助或任何建议。
我不明白你的意思。 –
你已经将你的对象实例化为'IBOulets',这意味着你将它们链接到故事板或xib文件中,对吧?那么你*不必*用这个'[[CustomTextField alloc] init]'来初始化它们,而不是将代码添加到' - (id)init'中,你应该将它移动到' - (void)awakeFromNib',在您的自定义类 –
没有变化只有一个文本框更改其他保持不变。 –