应用程序因 viewDidLoad 中的代码而挂起
Application hangs because of code in viewDidLoad
以下是我在 viewDidLoad 中的代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_sharedHandler = [TGProjectHandler sharedHandler];
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 30)];
_email.leftView = paddingView;
_email.leftViewMode = UITextFieldViewModeAlways;
_password.leftView = paddingView;
_password.leftViewMode = UITextFieldViewModeAlways;
}
当应用程序运行并执行此代码时,应用程序卡住了。但是,如果我注释掉以下任何一行,应用程序将正常运行。
_email.leftView = paddingView;
_email.leftViewMode = UITextFieldViewModeAlways;
_password.leftView = paddingView;
_password.leftViewMode = UITextFieldViewModeAlways;
有人能指出原因吗?
您必须为每个所需的文本字段创建填充视图。即,如果您有两个文本字段来添加填充视图,则创建两个填充视图并分别分配给 viewDidLoad() 中提交的每个文本。在您的情况下,您只创建了一个填充视图。
UIView *paddingView2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
self.eventTitleTxt.leftView = paddingView2;
self.eventTitleTxt.leftViewMode = UITextFieldViewModeAlways;
以下是我在 viewDidLoad 中的代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_sharedHandler = [TGProjectHandler sharedHandler];
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 30)];
_email.leftView = paddingView;
_email.leftViewMode = UITextFieldViewModeAlways;
_password.leftView = paddingView;
_password.leftViewMode = UITextFieldViewModeAlways;
}
当应用程序运行并执行此代码时,应用程序卡住了。但是,如果我注释掉以下任何一行,应用程序将正常运行。
_email.leftView = paddingView;
_email.leftViewMode = UITextFieldViewModeAlways;
_password.leftView = paddingView;
_password.leftViewMode = UITextFieldViewModeAlways;
有人能指出原因吗?
您必须为每个所需的文本字段创建填充视图。即,如果您有两个文本字段来添加填充视图,则创建两个填充视图并分别分配给 viewDidLoad() 中提交的每个文本。在您的情况下,您只创建了一个填充视图。
UIView *paddingView2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
self.eventTitleTxt.leftView = paddingView2;
self.eventTitleTxt.leftViewMode = UITextFieldViewModeAlways;