嵌入在UIView中的UITextField没有响应触摸事件

0 objective-c uitextfield uiview ios

为什么UITextField嵌入在a中时不会响应触摸事件UIView(它本身嵌入在原始视图控制器的主体中UIView)?

这是代码:

- (void)loadView
{
    self.view = [UIView new];

    UIView *positionalView = [[UIView alloc] initWithFrame:CGRectMake(20, 100, 280, 100)];

    UITextField *usernameField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 280, 50)];
    usernameField.placeholder = @"Full Name";
    usernameField.delegate = self;
    [usernameField addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged];
    [positionalView addSubview:usernameField];

    UITextField *passwordField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 280, 50)];
    passwordField.placeholder = @"Password";
    passwordField.delegate = self;
    [passwordField addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged];
    [positionalView addSubview:passwordField];

    [self.view addSubview:positionalView];
}
Run Code Online (Sandbox Code Playgroud)

发现很难理解这种行为,因为上面的代码工作正常,如果我只是删除positionalView并直接将文本字段添加到主self.view.

有谁能解释一下?

Leo*_*ica 5

您创建一个名为的局部变量positionalView,但将文本字段添加到名为的属性positionalView.这些变量不一样.