我只是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',在您的自定義類 –
沒有變化只有一個文本框更改其他保持不變。 –